import { IUser } from './IUser';
import { IQAUser } from "../Campaigns/ISwrveCampaign";
export declare class ProfileManager {
    userId: string;
    private readonly appId;
    private readonly apiKey;
    private readonly newSessionInterval;
    private _currentUser;
    constructor(userId: string, appId: number, apiKey: string, newSessionInterval: number);
    hasSessionRestored(): boolean;
    getNextSequenceNumber(): number;
    getSessionToken(): string;
    getSwrveIdByThirdPartyId(thirdPartyUserId: string): string | null;
    cacheThirdPartyId(thirdPartyLoginId: string, swrveId: string): void;
    static storeUserId(userId: string): void;
    static getStoredUserId(): string | null;
    static isUserIdVerified(userId: string): boolean;
    static setUserIdAsVerified(userId: string): void;
    setCurrentUserAsNewAnonymousUser(): void;
    setCurrentUser(newUserId: string, markAsAnonymous?: boolean): void;
    set firstUse(firstUseDate: number);
    get currentUser(): IUser;
    setAsQAUser(qaUserNode: IQAUser): void;
    clearQAUser(): void;
    isQAUser(): boolean;
    get QAUser(): IQAUser | undefined;
    storeEtagHeader(etag: string): void;
    clearEtagHeader(): void;
    saveCurrentUserBeforeSessionEnd(): void;
    private restoreCurrentUser;
    private resolveCurrentUser;
}
