export interface CometChatWidgetConfig {
    appID: string;
    region: string;
    storageMode?: string;
    mode: string;
    authKey?: string;
    uid?: string;
    authToken?: string;
    user?: {
        name?: string;
        avatar?: string;
        link?: string;
        metadata?: any;
    };
    mount: string;
    width?: string;
    height?: string;
    isDocked?: boolean;
    variantID?: string;
    chatType?: string;
    defaultChatID?: string;
    autoOpenFirstItem?: boolean;
    dockedAlignment?: string;
    targetElementID?: string;
}
type InternalConfig = CometChatWidgetConfig & {
    [key: string]: any;
};
declare global {
    interface Window {
        CometChatApp: any;
    }
}
export declare const CometChatAuth: {
    _config: InternalConfig;
    start(config: CometChatWidgetConfig): Promise<void>;
    _validateConfig(): void;
    _initSDK(): Promise<void>;
    _login(): Promise<any>;
    _ensureUserExists(uid: string, isGuest?: boolean): Promise<void>;
    _authCreateOrUpdateUser(user: any, userNameAvailable: boolean): Promise<any>;
    _getOrCreateGuestUID(): string;
    _getCookie(name: string): string | undefined;
    _launchWidget(): Promise<any>;
};
export default CometChatAuth;
