import { Traits } from "./traits"; import { StoresGroup } from "../store/store"; import { ExternalIds } from "./externalId"; import { HttpCookieService } from "../lib/httpCookieService"; import { SentryWrapper } from "../lib/sentry"; export interface User { identify(userId: string, traits?: Traits, externalIds?: ExternalIds): Promise; getUserId(): string | null; getAnonymousId(): string | null; getTraits(): Traits | null; setTraits(newTraits: Traits): void | Promise; getExternalIds(): ExternalIds | null; load(): Promise; } export declare class UserImpl implements User { private stores; private anonymousId; private userId; private externalIds; private traits; private readonly phoneCountryCode?; private readonly cookieService; private readonly sentry; constructor(stores: StoresGroup, sentry: SentryWrapper, cookiesService?: HttpCookieService, phoneCountryCode?: string); load(): Promise; identify(userId: string, traits?: Traits, externalIds?: ExternalIds): Promise; getUserId(): string | null; getAnonymousId(): string | null; getTraits(): Traits | null; getExternalIds(): ExternalIds | null; private syncAndSetServerCookies; private clearUserData; private initUserId; private initAnonymousId; private initExternalIds; private initTraits; setTraits(newTraits: Traits): Promise; private formatPhone; private setUserId; private setExternalIds; }