import type { Campaign, ReEligibleCondition } from '../Interfaces/Campaign'; import type { EventIntermediateCounts, UserData } from '../Interfaces/User'; export declare enum SyncStatePolicy { OVERWRITE = 0, MERGE = 1 } type SyncStateOptions = { policy?: SyncStatePolicy; useStorageIfAvailable?: boolean; handleExternalUserIdMismatch?: boolean; }; export declare class UserStateManager { static eventIntermediateCounts: EventIntermediateCounts[]; static inWebMessageCampaigns: Campaign[]; static userData: UserData; static get state(): { eventIntermediateCounts: EventIntermediateCounts[]; inWebMessageCampaigns: Campaign[]; userData: UserData; }; static saveState(): Promise; static sync(options: SyncStateOptions): Promise; static refresh(policy?: SyncStatePolicy): Promise; static updateExternalUserId(): Promise; static updateAndGetCampaignHiddenUntilDataAccordingToReEligibleCondition(campaignId: string, reEligibleCondition: ReEligibleCondition): Record; static updateEventCounts(eventName: string, eventParams: Record, segmentationEventParamKeys?: string[] | null): void; private static _clearEventCounts; static updateUserProperties(params: Record): void; private static _clearUserProperties; static updateCampaignHiddenUntilData(campaignHiddenUntilData: Record): void; private static _clearCampaignHiddenUntilData; static clearAll(): void; private static _syncState; private static shouldHandleExternalUserIdMismatch; private static _updateStatesBasedOnPolicy; private static _overwriteUserData; private static _mergeUserData; static getMessageLogs(campaignId: string): any; } export {}; //# sourceMappingURL=State.d.ts.map