export declare const HB_CONTRAST_TAG = "hb-contrast"; export declare const HB_CLIP_TAG = "hb-clip"; export declare const HB_BROKEN_ASSET_TAG = "hb-broken-asset"; export declare const HB_OVERLAP_TAG = "hb-overlap"; export declare const HB_MISALIGN_TAG = "hb-misalign"; export interface ContrastPayload { id: number; fg: string; bg: string; ratio: number; sample: string; } export interface ClipPayload { id: number; axis: 'x' | 'y'; sample: string; } export interface OverlapPayload { id: number; id2: number; sample: string; sample2: string; } export interface BrokenAssetPayload { id: number; tag: string; url: string; } export interface MisalignPayload { id: number; sample: string; } interface RGBA { r: number; g: number; b: number; a: number; } export declare function contrastRatio(fg: RGBA, bg: RGBA): number; export declare class ContrastCapture { private emit; private getId; private emitClip?; private emitOverlap?; private emitMisalign?; private emitBrokenAsset?; private emittedIds; private clippedIds; private overlapPairs; private misalignedIds; private brokenAssetUrls; private emitCount; private scanCount; private timer; constructor(emit: (payload: ContrastPayload) => void, getId: (node: Node) => number, emitClip?: ((payload: ClipPayload) => void) | undefined, emitOverlap?: ((payload: OverlapPayload) => void) | undefined, emitMisalign?: ((payload: MisalignPayload) => void) | undefined, emitBrokenAsset?: ((payload: BrokenAssetPayload) => void) | undefined); start(doc: Document, win: Window): void; scan(doc: Document, win: Window): void; private detectBrokenImages; private detectMisalignedTables; private detectOverlaps; dispose(): void; } export {}; //# sourceMappingURL=contrast.d.ts.map