interface Logger {
debug(message: string, args?: unknown): void;
info(message: string, args?: unknown): void;
warn(message: string, args?: unknown): void;
error(message: string, args?: unknown): void;
}
declare enum WebExtensionSdkEventType {
AFFILIATE_ACTIVATION_DETECTED = "AFFILIATE_ACTIVATION_DETECTED",
}
interface AffiliateActivationDetectedEvent {
type: WebExtensionSdkEventType.AFFILIATE_ACTIVATION_DETECTED;
data: {
detectedUrl: string;
detectedUrlCapturedOn: number;
finalUrl: string;
finalUrlCapturedOn: number;
};
}
type WebExtensionSdkEvent = AffiliateActivationDetectedEvent;
type TabDetails = {
tabId: number;
url: string;
};
type EventListener = (event: WebExtensionSdkEvent, tabDetails: TabDetails) => void;
interface SleekWebExtensionSdk {
registerEventListener(listener: EventListener): void;
getAllKnownInstalledExtensions(): Promise<ExtensionInfo[]>;
}
interface SleekWebExtensionSdkOptions {
enableDebug: boolean;
loggerOverride: Logger;
envOverride: Record<string, string | undefined>;
skipManifestValidation: boolean;
disableLogger: boolean;
}
declare function initializeWebExtensionSdk(apiKey: string, options?: Partial<SleekWebExtensionSdkOptions>): Promise<SleekWebExtensionSdk>;
declare function getWebExtensionSdkInstance(): SleekWebExtensionSdk;
AFFILIATE_ACTIVATION_DETECTION
- fired when the SDK detects an affiliate activation on a tab.