import { Context, ContextFactory } from "../transport/context"; import { EmitterImpl } from "../transport/emitter"; import { Traits } from "../domain/traits"; import { User } from "../domain/user"; import { EventFactory } from "../transport/eventFactory"; import { EventQueue } from "../transport/queue"; import { GroupFactory } from "../domain/group"; import { SdkSettings } from "../transport/plugins/plugin"; import { ExternalIds } from "../domain/externalId"; export interface SdkDependencies { user: User; groupFactory: GroupFactory; eventFactory: EventFactory; contextFactory: ContextFactory; eventQueue: EventQueue; } export declare class Sdk extends EmitterImpl { private readonly sdkSettings; private readonly _group; private readonly user; private readonly eventFactory; private readonly contextFactory; private readonly eventQueue; constructor(sdkSettings: SdkSettings, deps: SdkDependencies); identify(userId: string, traits?: Traits, externalIds?: ExternalIds): Promise; track(eventName: string, properties?: object, traits?: object): Promise; page(pageNameParam?: string, properties?: object, traits?: object): Promise; group(groupId: string, traits?: Traits): Promise; private dispatchEvent; }