import { AmplitudeEngagementPlugin } from './AmplitudeEngagementPlugin'; import type { AmplitudeBootOptions, AmplitudeInitOptions, GuideOrSurvey } from './types'; import type { BaseEvent } from '@amplitude/analytics-core'; export type { AmplitudeBootOptions, AmplitudeEndUser, AmplitudeInitOptions, AmplitudeIntegration, GuideOrSurvey, } from './types'; export declare function init(apiKey: string, options?: AmplitudeInitOptions): void; /** * Non-blocking variant of {@link init}. Awaits construction of the native * instance instead of building it synchronously, so callers (e.g. the React * Native plugin's `setup`) don't block the thread on the native `newInstance`, * and resolving guarantees the SDK is ready. SDK methods called before this * resolves are safe: they queue on the engagement's `id` promise and run once * initialization completes. Can be called deferred (e.g. after first paint / * InteractionManager.runAfterInteractions) to keep creation off the launch path. */ export declare function initAsync(apiKey: string, options?: AmplitudeInitOptions): Promise; export declare function boot(options: AmplitudeBootOptions): Promise; export declare function boot(user_id?: string, device_id?: string, user_properties?: Object): Promise; export declare function enable(): Promise; export declare function disable(): Promise; export declare function shutdown(): Promise; export declare function list(): Promise; export declare function show(key: string, stepIndex: number): Promise; export declare function screen(screenName: string): Promise; export declare function closeAll(): Promise; export declare function updateLanguage(locale: string): Promise; export declare function forwardEvent(event: BaseEvent): Promise; export declare function addCallback(key: string, func: () => void): () => void; /** * Sets a router function used to handle navigation requests from guides/surveys * (e.g. "Go to screen" CTA button actions). * * @example * ```typescript * import { setRouter } from '@amplitude/plugin-engagement-react-native'; * import { navigate } from './navigation'; * * setRouter((url) => { * navigate(url); * }); * ``` */ export declare function setRouter(router: (url: string) => void): Promise; /** Removes the currently configured router, if any. */ export declare function unsetRouter(): Promise; export declare function handleURL(url: string): Promise; export declare function getPlugin(initOptions?: AmplitudeInitOptions): AmplitudeEngagementPlugin; //# sourceMappingURL=index.d.ts.map