import { Deserializable } from '../interfaces/deserializable';
export declare class User implements Deserializable {
    private readonly USER;
    type: string;
    config: {};
    client_id: string;
    client_secret: string;
    grant_type: string;
    email: string;
    username: string;
    password: string;
    first_name: string;
    last_name: string;
    address: {
        country: string;
        city: string;
        state: string;
        address: string;
        postcode: string;
    };
    birthday: string;
    gender: string;
    phone_number: string;
    suscribed_to_newsletter: boolean;
    document_type?: string;
    preferred_card?: string;
    document_number?: string;
    channels: any[];
    customers: any[];
    token: string;
    typeUser?: any;
    initilized: (res: any) => void;
    isWholesaler: () => boolean;
    isSeller: () => boolean;
    isRetailCustomer: () => boolean;
    deserialize(input: any): this;
    jsonify(): {
        client_id: string;
        client_secret: string;
        grant_type: string;
        username: string;
        email: string;
        password: string;
        token: string;
        typeUser: any;
        channels: any[];
        customers: any[];
    };
    removePassword(): void;
    needsAuth(): boolean;
    toForm: () => {
        firstName: string;
        lastName: string;
        phoneNumber: string;
        email: string;
        documentType: string;
        documentNumer: string;
        street: string;
        countryCode: string;
        city: string;
        provinceName: string;
        postcode: string;
    };
    persistInStorage: (key?: string) => boolean;
    loadFromStorage: (key?: string) => boolean;
    removeFromStorage: (key?: string) => boolean;
    setChannels: (...channels: any[]) => any[];
}
