export interface Configuration { writeKey: string; recordScreenViews: boolean; trackAppLifecycleEvents: boolean; debug: boolean; flushAt: number; json: string; defaultProjectSettings: { [key: string]: any; }; proxy?: { scheme?: string; host?: string; port?: number; path?: string; }; android: { flushInterval?: number; collectDeviceId: boolean; }; ios: { trackAdvertising: boolean; trackDeepLinks: boolean; }; } export declare type JsonValue = boolean | number | string | null | JsonList | JsonMap; export interface JsonMap { [key: string]: JsonValue; [index: number]: JsonValue; } export interface JsonList extends Array { } export interface Integrations { [key: string]: boolean | JsonMap; } export interface Context extends JsonMap { library: { name: string; version: string; }; } export declare type Options = { integrations?: Integrations; context?: Context; } & JsonMap; export interface Bridge { setup(configuration: Configuration): Promise; track(event: string, properties: JsonMap, options: Options, context: JsonMap): Promise; identify(user: string, traits: JsonMap | null, options: Options, integrations: Integrations, context: JsonMap): Promise; screen(name: string, properties: JsonMap, options: Options, context: JsonMap): Promise; group(groupId: string, traits: JsonMap, options: Options, context: JsonMap): Promise; alias(alias: string, options: Options, context: JsonMap): Promise; reset(): Promise; flush(): Promise; enable(): Promise; disable(): Promise; getAnonymousId(): Promise; setIDFA(idfa: string): Promise; } declare const bridge: Bridge; export default bridge;