export interface IUserCredentials {
    userName: string;
    password: string;
}
export interface IUser extends IUserCredentials {
    userId?: number;
    leadId?: number;
    gender: string;
    countryCode2: string;
    languageCode: string;
    isTest?: boolean;

    // Personal Details
    firstName: string;
    lastName: string;
    dateOfBirthday: Date;
    address: string;
    city: string;
    state: string;
    postCode: string;
    email: string;
    phone: string;
    likeToGetNewslatter: boolean;
    isAnonymous: boolean;
}
export class UserCredentials implements IUserCredentials {
    userName: string;
    password: string;
}
export class User implements IUser {
    userName: string;
    leadId?: number;
    userId?: number;
    password: string;
    gender: string;
    countryCode2: string;
    languageCode: string;

    // Personal Details
    firstName: string;
    lastName: string;
    dateOfBirthday: Date;
    address: string;
    city: string;
    state: string;
    postCode: string;
    email: string;
    phone: string;
    likeToGetNewslatter: boolean;
    isAnonymous: boolean;
    constructor() {
        /*
        this.firstName = lead.firstName;
        this.lastName = lead.lastName;
        this.dateOfBirthday = lead.dateOfBirthday;
        this.address = lead.address;
        this.city = lead.city;
        this.state = lead.state;
        this.postCode = lead.postCode;
        this.email = lead.email;
        this.phone = lead.phone;
        this.likeToGetNewslatter = lead.likeToGetNewslatter;
        this.isAnonymous = lead.isAnonymous;

        this.leadId = lead.leadId;
        */
    }
}
export interface IAccount {
    accountId: number;
    accountCurrency: string;
    userId: number;
    brandId: number;
    accountTypeId: number;
    allowMarketPrimary: boolean;
    allowMarketSecondary: boolean;
    isDemo: boolean;
    accountStatusId: number;
    currentBalance: number;
}
export interface IUserAccounts {
    user: IUser;
    accounts: IAccount[];
}
