import { Bind, Start, ParentTest, Stop, PageTest, Config, Selectors, Targets, Binding } from "./types"; export declare const getTargets: (parent: HTMLElement, selectors: Selectors) => Targets | null; export declare const relevantPage: (bindings: Binding[]) => boolean; export declare const defaults: Config; export declare const config: () => Config | undefined; interface GenerateTimerOptions { pageTest: PageTest; bind: Bind; interval?: number; } interface TimerControls { start: Start; stop: Stop; } interface GenerateTimer { (options: GenerateTimerOptions): TimerControls; } export declare const generateTimer: GenerateTimer; interface SetupOptions { window: Window; bindings: Binding[]; callback?: (result?: SetupResult[]) => void; } interface Setup { (options: SetupOptions): void; } interface SetupResult { binding: Binding; start: Start; stop: Stop; } export declare const setup: Setup; interface SetupBindOptions { selectors: Selectors; anchorSelector?: string; parentScope?: string; doc?: Document; parentTest?: ParentTest; } interface SetupBind { (options: SetupBindOptions): PageBindings[]; } interface PageBindings { anchor: HTMLElement; targets: Targets; parent: HTMLElement; } export declare const setupBind: SetupBind; export declare const toId: (elem: HTMLElement) => string; export declare const cssEscape: (value: string) => string; export {};