declare enum EarlType { WebPage = "WebPage", Assertion = "Assertion", TestCase = "TestCase", TestResult = "TestResult" } interface EarlResult { '@context': object; '@type': EarlType.WebPage; url: string; assertions: Assertion[]; } interface Assertion { '@type': EarlType.Assertion; mode: 'earl:automatic'; assertedBy: {}; test: { '@type': EarlType.TestCase; '@id': string; }; result: TestResult; } interface TestResult { '@type': EarlType.TestResult; outcome: string; pointer?: string; info?: string; } interface RawResult { id: string; helpUrl: string; description: string; violations?: RawNodeResult[]; passes?: RawNodeResult[]; incomplete?: RawNodeResult[]; } interface RawNodeResult { node: { selector: Selector; }; result?: 'passed' | 'failed' | 'inapplicable' | 'incomplete'; } type SelectorItem = string[] | string; type Selector = SelectorItem[]; declare function createEarlReport(rawResults: RawResult[], url?: string): EarlResult; declare function axeReporterEarl(rawResults: RawResult[], {}: {}, callback: (result: EarlResult) => unknown): void; export { createEarlReport, axeReporterEarl as default };