import { Page } from 'playwright'; interface RuleObject { [key: string]: { enabled: boolean; }; } interface RunOptions { runOnly?: string[] | string; rules?: RuleObject[]; reporter?: string; resultTypes?: string[]; selectors?: boolean; ancestry?: boolean; xpath?: boolean; absolutePaths?: boolean; iframes?: boolean; elementRef?: boolean; frameWaitTime?: number; preload?: boolean; performanceTimer?: boolean; pingWaitTime?: number; } interface AxeReport { toolOptions: RunOptions; passes: Result[]; violations: Result[]; incomplete: Result[]; inapplicable: Result[]; timestamp: string; error?: Error | true; } interface Result { description: string; help: string; helpUrl: string; id: string; impact?: string; tags: string[]; nodes: NodeResult[]; } interface NodeResult { html: string; impact?: string; target: string[]; xpath?: string[]; ancestry?: string[]; any: CheckResult[]; all: CheckResult[]; none: CheckResult[]; failureSummary?: string; element?: HTMLElement; } interface CheckResult { id: string; impact: string; message: string; data: unknown; relatedNodes?: RelatedNode[]; } interface RelatedNode { target: string[]; html: string; } export type AxeAuditOptions = { summary?: 'full' | 'category' | 'impact' | 'omit' | ((audit: AxeReport) => unknown); save?: string | boolean; }; /** * This is bare bones for now, but */ export declare class AxeAuditor { static run(page: Page): Promise; static getAuditResults(page: Page, options?: true | AxeAuditOptions): Promise; static totalByCategory(input: AxeReport): Record; static totalByImpact(input: AxeReport): Record; } export {}; //# sourceMappingURL=axe-auditor.d.ts.map