import Event from './models/Event';
import { LogLevel } from './models/LogLevel';
import { PrivacyStatus } from './models/PrivacyStatus';
import { InitOptions } from './models/InitOptions';
interface IMobileCore {
    extensionVersion: () => Promise<string>;
    configureWithAppId: (appId?: String) => void;
    updateConfiguration: (configMap?: Record<string, any>) => void;
    setLogLevel: (mode: LogLevel) => void;
    getLogLevel: () => Promise<LogLevel>;
    setPrivacyStatus: (privacyStatus: PrivacyStatus) => void;
    getPrivacyStatus: () => Promise<PrivacyStatus>;
    getSdkIdentities: () => Promise<string>;
    dispatchEvent: (event: Event) => Promise<boolean>;
    dispatchEventWithResponseCallback: (event: Event, timeoutMS: Number) => Promise<Event>;
    trackAction: (action?: string, contextData?: Record<string, any>) => void;
    trackState: (state?: string, contextData?: Record<string, string>) => void;
    setAdvertisingIdentifier: (advertisingIdentifier?: string) => void;
    setPushIdentifier: (pushIdentifier?: string) => void;
    collectPii: (data: Record<string, string>) => void;
    setSmallIconResourceID: (resourceID: number) => void;
    setLargeIconResourceID: (resourceID: number) => void;
    setAppGroup: (appGroup?: string) => void;
    resetIdentities: () => void;
    clearUpdatedConfiguration: () => void;
    initialize: (initOptions: InitOptions) => Promise<void>;
    initializeWithAppId: (appId: string) => Promise<void>;
}
declare const MobileCore: IMobileCore;
export default MobileCore;
