import type { NotiflyInitializeOptions, SetUserIdOptions } from './Core/Interfaces/Options'; import { Language } from './Core/Interfaces/RequestPermissionPromptDesignParams'; import { type SdkType } from './Core/SdkState'; /** * @summary Initializes the Notifly SDK. All the other SDK commands will be executed only after the SDK is initialized. * * @async */ export declare function initialize(options: NotiflyInitializeOptions): Promise; /** * @summary Tracks an event with the given name and parameters. * * @async * * @example * trackEvent('my_event', { key1: 'value1', key2: 'value2' }); */ export declare function trackEvent(eventName: string, eventParams?: Record, segmentationEventParamKeys?: string[] | null): Promise; /** * Sets or removes user ID for the current user. * * @summary If the user ID is null or undefined, the user ID will be removed. Otherwise, the user ID will be set to the provided value. * * @async * * @example * setUserId('myUserID') // Sets the user ID to 'myUserID' * setUserId(null) // Removes the user ID * setUserId() // Removes the user ID */ export declare function setUserId(userId?: string | null | undefined, options?: SetUserIdOptions): Promise; /** * @summary Removes the external user ID and Notifly user ID from localForage. * * @async * * @example * removeUserId(); */ export declare function removeUserId(options?: SetUserIdOptions): Promise; /** * Sets user properties for the current user. * * @async * * @example * setUserProperties({ name: 'John Doe', age: 42 }); */ export declare function setUserProperties(params: Record): Promise; /** * Sets phone number for the current user. * * @async * * @example * setEmail('team@greyboxhq.com'); */ export declare function setEmail(email: string): Promise; /** * Sets phone number for the current user. * * @async * * @example * setPhoneNumber('01012345678'); */ export declare function setPhoneNumber(phoneNumber: string): Promise; /** * Sets timezone for the current user. * Timezone identifier must be a valid non-empty string. * * @see * https://en.wikipedia.org/wiki/List_of_tz_database_time_zones * * @param tz - Timezone identifier. e.g. 'Asia/Seoul', 'America/New_York' * * @async * * @example * setTimezone('Asia/Seoul'); * setTimezone('America/New_York'); */ export declare function setTimezone(tz: string): Promise; /** * Gets the current user ID. * * @async * * @example * const currentUserId = await getUserId(); */ export declare function getUserId(): Promise; /** * Gets the user properties for the current user. * * @async * * @example * const userProperties = await getUserProperties(); */ export declare function getUserProperties(): Promise | null>; /** * @summary Requests permission from the user to send web push notifications. * * @async * * @param languageToForce - The language to force for the permission prompt. If not provided, the browser preferred language will be used. The language should be one of the 'ko', 'en', 'ja', 'zh' */ export declare function requestPermission(languageToForce?: Language): Promise; export declare function setSdkType(sdkType: SdkType): void; export declare function getSdkVersion(): string; export declare function setSdkVersion(sdkVersion: string): void; export declare function setSource(source: 'cafe24' | null): void; //# sourceMappingURL=Client.d.ts.map