import { ProfileManager } from "./Profile/ProfileManager";
import { CampaignManager } from "./Campaigns/CampaignManager";
import { ISwrveCampaign, ISwrveEmbeddedMessage } from "./Campaigns/ISwrveCampaign";
import { ResourceManager } from "./Resources/ResourceManager";
import { GetResourcesCallback, GetUserResourcesDiffCallback, OnCampaignLoadedCallback, OnCustomButtonClicked, OnIAMDismissed, OnIAMShown, OnIdentifySuccessCallback, OnIdentifyErrorCallback, OnMessageListener, OnResourcesLoadedCallback } from "./SwrveSDK";
import { IUserInfo } from "./Profile/IUser";
import { ISwrveInternalConfig } from "./Config/ISwrveInternalConfig";
import { EventManager } from "./Events/EventManager";
import { SwrveRestClient } from "./RestClient/SwrveRestClient";
import ISwrveConfig from "./Config/ISwrveConfig";
import IDictionary from "./utils/IDictionary";
import IReadonlyDictionary from "./utils/IReadonlyDictionary";
import IReward from "./WebApi/Events/IReward";
import { SwrveTrackingState } from "./utils/SwrveConstants";
import { ICampaignState } from "./Campaigns/ICampaignState";
import { IPlatform } from "./utils/platforms/IPlatform";
export declare class SwrveInternal {
    readonly profileManager: ProfileManager;
    private readonly config;
    private readonly evtManager;
    private readonly eventFactory;
    private readonly restClient;
    private readonly campaignManager;
    private readonly resourceManager;
    private readonly platform;
    private readonly realTimeUserPropertiesManager;
    private onResourcesLoadedCallback;
    private onCampaignLoadedCallback;
    private onCustomButtonClickedCallback;
    private onIAMDismissedCallback;
    private onIAMShownCallback;
    private eventLoopTimer;
    private flushFrequency;
    private _shutdown;
    private autoShowEnabled;
    private started;
    private installDate;
    private identifiedOnAnotherDevice;
    private refreshAssets;
    constructor(config: Readonly<ISwrveConfig>, dependencies?: IDependencies);
    init(): void;
    getConfig(): ISwrveInternalConfig;
    getUserInfo(): IUserInfo;
    getTrackingState(): SwrveTrackingState;
    getMessageCenterCampaigns(personalizationProperties?: IDictionary<string>): ISwrveCampaign[];
    getPlatform(): IPlatform;
    embeddedMessageWasShownToUser(message: ISwrveEmbeddedMessage): void;
    embeddedMessageButtonWasPressed(message: ISwrveEmbeddedMessage, buttonName: string): void;
    getPersonalizedEmbeddedMessageData(message: ISwrveEmbeddedMessage, personalizationProperties: IDictionary<string>): string | null;
    getPersonalizedText(text: string, personalizationProperties: IDictionary<string>): string | null;
    sendEvent(keyName: string, payload: IDictionary<string | number>): void;
    sendUserUpdateWithDate(keyName: string, date: Date): void;
    sendUserUpdate(attributes: IReadonlyDictionary<string | number | boolean>): void;
    sendPurchaseEvent(keyName: string, currency: string, cost: number, quantity: number): void;
    sendInAppPurchaseWithoutReceipt(quantity: number, productId: string, productPrice: number, currency: string, rewards?: IReadonlyDictionary<IReward>): void;
    sendCurrencyGiven(currencyGiven: string, amount: number): void;
    sendQueuedEvents(userId?: string, forceUpdate?: boolean): void;
    stopTracking(): void;
    updateCampaignsAndResources(forceUpdate?: boolean): Promise<void>;
    saveToStorage(): void;
    identify(externalUserId: string | null, onIdentifySuccess: OnIdentifySuccessCallback, onIdentifyError: OnIdentifyErrorCallback): void;
    queueMessageImpressionEvent(messageId: number, payload?: IDictionary<string | number>): void;
    onResourcesLoaded(callback: OnResourcesLoadedCallback): void;
    onCampaignLoaded(callback: OnCampaignLoadedCallback): void;
    onMessage(callback: OnMessageListener): void;
    onIAMDismissed(callback: OnIAMDismissed): void;
    onCustomButtonClicked(callback: OnCustomButtonClicked): void;
    onIAMShown(callback: OnIAMShown): void;
    getResources(callback: GetResourcesCallback): void;
    getResourceManager(): ResourceManager;
    getUserResourcesDiff(callback: GetUserResourcesDiffCallback): void;
    showMessageCenterCampaign(campaign: ISwrveCampaign, personalizationProperties?: IDictionary<string>): boolean;
    markMessageCenterCampaignAsSeen(campaign: ISwrveCampaign): void;
    removeMessageCenterCampaign(campaign: ISwrveCampaign): void;
    getCampaignState(campaignId: string): ICampaignState | undefined;
    start(userId?: string): void;
    isSDKStarted(): boolean;
    showCampaign(campaign: ISwrveCampaign, personalizationProperties?: IDictionary<string>): boolean;
    shutdown(): void;
    handleSendingQueue(): void;
    getRealTimeUserProperties(): IDictionary<string>;
    retrievePersonalizationProperties(eventPayload?: IDictionary<string>, properties?: IDictionary<string>): IDictionary<string>;
    isMessageShowing(): boolean;
    private checkTriggers;
    private makeIdentityCall;
    private identifyCachedUser;
    private identifyUnknownUserWithExternalId;
    private getUnidentifiedUserId;
    private switchUser;
    private startNewSession;
    private handlePageViewed;
    private handleButtonClicked;
    private dismissButtonClicked;
    private customButtonClicked;
    private copyToClipboard;
    private pageLinkButtonClicked;
    private queueButtonEvents;
    private queueButtonUserUpdates;
    private autoShowMessages;
    private queueStartSessionEvent;
    private handleCampaignResponse;
    private handleRealTimeUserProperties;
    private sendCampaignsDownloadedEvent;
    private initSDK;
    private shouldAutoStart;
    private disableAutoShowAfterDelay;
    private queueEvent;
    private handleResources;
    private handleUpdate;
    private handleQAUser;
    private handleFlushRefresh;
    private updateTimer;
    private validateEventName;
    private checkFirstUserInitiated;
    private loadInstallDate;
    private queueDeviceProperties;
    private transformResourcesDiff;
    private pageStateHandler;
    private isSdkReady;
}
export interface IDependencies {
    campaignManager?: CampaignManager;
    eventManager?: EventManager;
    profileManager?: ProfileManager;
    restClient?: SwrveRestClient;
    platform?: IPlatform;
}
