import { AxeResults, Result } from 'axe-core';
export interface TestMetadata {
    testName?: string;
    setupTypes: string[];
    usedHelpers: string[];
    [key: string]: any;
    readonly isRendering: boolean;
    readonly isApplication: boolean;
}
interface AxeTestResult {
    moduleName: string;
    testName: string;
    testMetaData: TestMetadata;
    urls: string[] | Set<string>;
    routes: string[] | Set<string>;
    helpers: string[];
    stack: string;
    violations: Result[];
}
export declare const TEST_SUITE_RESULTS: AxeTestResult[];
/**
 * A custom reporter that is invoked once per failed a11yAudit call. This can be called
 * multiple times per test, and the results are accumulated until testDone.
 *
 * @param axeResults The axe results for each a11yAudit.
 * @returns Early returns if no violations are found.
 */
export declare function middlewareReporter(axeResults: AxeResults): Promise<void>;
/**
 * Invoked once per test. Accumulates the results into a set of results used for
 * reporting via the middleware reporter.
 */
export declare function pushTestResult(): void;
/**
 * Sets up the middleware reporter, which reports results when the test suite is done.
 */
export declare function setupMiddlewareReporter(): void;
export {};
