import { Store } from "../store/store"; import { UtmCampaign } from "../domain/event"; export type InjectScriptOptions = { async: boolean; onload?: () => void; }; export interface Browser { injectScript(url: string, opts: InjectScriptOptions): void; scriptAlreadyInPage(scriptUrl: string): boolean; isCurrentPageHttps(): boolean; navigator(): Navigator; document(): Document; location(): Location; window(): Window; isOnline(): boolean; canonicalPath(): string; canonicalUrl(): string; utmCampaign(queryString: string, store: Store): UtmCampaign | undefined; } export declare class BrowserImpl implements Browser { injectScript(url: string, opts: InjectScriptOptions): void; scriptAlreadyInPage(scriptUrl: string): boolean; isCurrentPageHttps(): boolean; navigator(): Navigator; document(): Document; location(): Location; window(): Window; isOnline(): boolean; canonicalPath(): string; canonicalUrl(): string; utmCampaign(queryString: string, store: Store): UtmCampaign | undefined; private canonical; private getUtmParam; } export declare const UTM_KEYS: [string, keyof UtmCampaign][];