import { MapStore, StreamLayerContext } from '@streamlayer/sdk-web-interfaces'; type DeepLinkContextData = { handled?: boolean; parsed?: boolean; used?: boolean; data?: DeepLinkUrlParams; }; export type DeepLinkCallback = (deepLinkData: DeepLinkContextData['data']) => void; export interface DeepLinkContext { $store: DeepLinkContextStore; getDeepLinkData: () => Pick; deepLinkUsed: (inviterId: string) => void; onDeepLinkHandlers: Set; } export type DeepLinkContextStore = MapStore; declare module '@streamlayer/sdk-web-interfaces' { interface StreamLayerContext { deepLink: DeepLinkContext; } interface StreamLayerSDK { addDeepLinkHandler: (cb: DeepLinkCallback) => void; removeDeepLinkHandler: (cb: DeepLinkCallback) => void; getInviter: () => string | undefined; inviteDisplayed: () => void; } } export declare const DEEP_LINK_PREFIX = "sldl"; export declare const DEEP_LINK_USER_ID = "sldl_uid"; export declare const DEEP_LINK_EVENT_ID = "sldl_eid"; export declare const DEEP_LINK_EXTERNAL_EVENT_ID = "sldl_e_eid"; export type DeepLinkUrlParams = { [DEEP_LINK_USER_ID]?: string; [DEEP_LINK_EVENT_ID]?: string; [DEEP_LINK_EXTERNAL_EVENT_ID]?: string; }; /** * Bypass authorization, used for login with external token. * Automatically login user if SDK initialized and READY. */ export declare const deepLink: (instance: StreamLayerContext, opts: { onDeepLinkHandled?: DeepLinkCallback; }, done: () => void) => void; export {};