export type MintCallback = (contentBinding: Uint8Array) => Promise; export type WebPoSignalOutputFunction = (buffer: Uint8Array) => Promise<(contentBinding: Uint8Array) => Promise>; export type WebPoSignalOutput = (WebPoSignalOutputFunction | undefined)[]; export type FetchFunction = typeof fetch; export type BgEventData = { event: string; elapsedTime: number; }; export type ClientErrorData = { errorCode: number; }; export type PayloadSizeData = { payloadSize: number; }; export type LatencyData = { latency: number; et: number; }; export type EventCountData = { event: string; }; export type BotGuardClientOptions = { program?: string; globalName?: string; globalObject?: any; userInteractionElement?: any; }; export type ChallengeFetcherConfig = { requestKey: string; interpreterHash?: string; fetchFunction: FetchFunction; useYouTubeAPI?: boolean; }; export type VMFunctions = { asyncSnapshotFunction?: (callback: (str: string) => void, args: any[]) => string; shutdownFunction?: (...args: any[]) => void; passEventFunction?: (...args: any[]) => void; checkCameraFunction?: (...args: any[]) => void; }; export type ContentBiding = { c?: string; e?: string; encryptedVideoId?: string; externalChannelId?: string; commentId?: string; atr_challenge?: string; [key: string]: any; }; export type SnapshotArgs = { contentBinding?: ContentBiding; signedTimestamp?: unknown; webPoSignalOutput?: WebPoSignalOutput; skipPrivacyBuffer?: boolean; }; export type IntegrityTokenData = { integrityToken?: string; estimatedTtlSecs?: number; mintRefreshThreshold?: number; websafeFallbackToken?: string; }; export interface IWebutilHtmlTypesSafeScriptProto { privateDoNotAccessOrElseSafeScriptWrappedValue?: string; } export interface IWebutilHtmlTypesTrustedResourceUrlProto { privateDoNotAccessOrElseTrustedResourceUrlWrappedValue?: string; } export interface IBotguardClientSideBgChallenge { messageId?: string; clientExperimentsStateBlob?: string; globalName?: string; interpreterHash?: string; interpreterJavascript?: IWebutilHtmlTypesSafeScriptProto; interpreterUrl?: IWebutilHtmlTypesTrustedResourceUrlProto; program?: string; }