/**
 * WCAG Accessibility scanner using axe-core.
 *
 * Injects axe-core into the live browser page and runs a full WCAG audit.
 * Works in authenticated, dynamically-loaded states — unlike static scanners.
 *
 * Usage:
 *   import { scanPageA11y } from "./scanners/a11y.js";
 *   const violations = await scanPageA11y(page, { wcagLevel: "AA" });
 */
import type { Page } from "playwright";
import type { ScanResult } from "../../types/index.js";
export type WcagLevel = "A" | "AA" | "AAA";
export type A11yImpact = "critical" | "serious" | "moderate" | "minor";
export interface A11yViolation {
    id: string;
    impact: A11yImpact;
    description: string;
    wcagCriteria: string[];
    nodes: Array<{
        selector: string;
        html: string;
        failureSummary: string;
    }>;
}
export interface A11yScanOptions {
    wcagLevel?: WcagLevel;
    include?: string[];
    exclude?: string[];
    runOnly?: string[];
}
export declare function scanPageA11y(page: Page, options?: A11yScanOptions): Promise<A11yViolation[]>;
export declare function scanA11y(options: {
    url: string;
    pages?: string[];
    wcagLevel?: WcagLevel;
    headed?: boolean;
    timeoutMs?: number;
    projectId?: string;
}): Promise<ScanResult>;
//# sourceMappingURL=a11y.d.ts.map