import { UserProfile } from './UserProfile';
export interface UserType {
    displayName: string;
    language: string;
    email?: string;
    photoURL?: string;
    uid?: string;
}
export declare class User {
    authenticated: boolean;
    authorized: boolean;
    displayName: string;
    language: string;
    email?: string;
    errorCode?: string;
    errorMessage?: string;
    firebaseUser: any;
    photoURL?: string;
    uid?: string;
    firebase: any;
    allowDiscovery: boolean;
    analytics: any;
    connected: boolean;
    lastUpdated?: number;
    profile: UserProfile;
    profilePhotoToken?: string;
    onLogout: () => void;
    constructor(onLogout: () => void);
    get hasAccess(): boolean;
    get isPremiumMember(): boolean;
    initFirebase: () => void;
    setFirebase: (firebase: any) => void;
    setFirebaseUser: (user: any) => void;
    private setAuthorized;
    setLanguage: (value: string) => void;
    setEmail: (value?: string) => void;
    setDisplayName: (value?: string) => void;
    setUid: (value?: string) => void;
    setErrorCode: (value?: string) => void;
    setErrorMessage: (value?: string) => void;
    private setAuthenticated;
    setPhotoURL: (value?: string) => void;
    static getProfileImageUrl: (userId: string) => Promise<string>;
    setAllowDiscovery: (value?: boolean) => void;
    sendPasswordResetEmail: (email: string) => Promise<void>;
    signupWithEmailAndPassword: (email: string, password: string) => Promise<void>;
    signIn: (email: string, password: string) => Promise<boolean>;
    updateDisplayName: (displayName: string) => void;
    updatePhotoUrl: (photoURL: string) => void;
    logout: () => void;
    detectConnectionState(): void;
    setConnected: (value: boolean) => void;
    setLastUpdated: (value: number) => void;
    onDeleteImageProfile: () => Promise<void>;
}
