import { PluginListenerHandle } from '@capacitor/core'; export interface BranchReferringParams { '+clicked_branch_link': boolean; '+is_first_session': boolean; [key: string]: any; } export interface BranchReferringParamsResponse { referringParams: BranchReferringParams; } export interface BranchUrlParams { branch: string; } export interface BranchShortUrlAnalytics { alias?: string; campaign?: string; channel?: string; duration?: number; feature?: string; stage?: string; tags?: Array; } export interface BranchShortUrlProperties { $desktop_url?: string; $android_url?: string; $ios_url?: string; $ipad_url?: string; $match_duration?: number; custom_string?: string; custom_integer?: number; custom_boolean?: boolean; } export interface BranchShortUrlParams { analytics?: BranchShortUrlAnalytics; properties?: BranchShortUrlProperties; } export interface BranchShowShareSheetParams extends BranchShortUrlParams { shareText?: string; } export interface BranchShortUrlResponse { url: string; } export interface BranchTrackingResponse { is_enabled: boolean; } export interface BranchLoggedOutResponse { logged_out: boolean; } export interface BranchQRCodeParams { analytics?: BranchShortUrlAnalytics; properties?: BranchShortUrlProperties; settings?: BranchQRCodeSettings; } export interface BranchQRCodeSettings { codeColor?: string; backgroundColor?: string; centerLogo?: string; width?: number; margin?: number; imageFormat?: string; } export interface BranchQRCodeResponse { qrCode: String; } export interface BranchDMAParams { eeaRegion: boolean; adPersonalizationConsent: boolean; adUserDataUsageConsent: boolean; } export interface BranchInitEvent extends BranchReferringParamsResponse { } export type BranchATTAuthorizationStatus = 0 | 1 | 2 | 3; export type BranchConsumerProtectionAttributionLevel = 'FULL' | 'REDUCED' | 'MINIMAL' | 'NONE'; export interface BranchDeepLinksPlugin { addListener(eventName: 'init', listenerFunc: (event: BranchInitEvent) => void): Promise; addListener(eventName: 'initError', listenerFunc: (error: any) => void): Promise; handleUrl(options: BranchUrlParams): Promise; generateShortUrl(options: BranchShortUrlParams): Promise; showShareSheet(options: BranchShowShareSheetParams): Promise; getStandardEvents(): Promise<{ [index: number]: string; }>; sendBranchEvent(options: { eventName: string; metaData: { [key: string]: any; }; }): Promise; handleATTAuthorizationStatus(options: { status: BranchATTAuthorizationStatus; }): Promise; disableTracking(options: { isEnabled: false; }): Promise; setIdentity(options: { newIdentity: string; }): Promise; logout(): Promise; getBranchQRCode(options: BranchQRCodeParams): Promise; getLatestReferringParams(): Promise; getFirstReferringParams(): Promise; setDMAParamsForEEA: (options: BranchDMAParams) => void; setConsumerProtectionAttributionLevel(options: { level: BranchConsumerProtectionAttributionLevel; }): Promise; }