import type { AxeResults, ElementContext } from 'axe-core';
import type { RunOptions } from './utils/validateAxeRunOptions';
import type { SendResultsFailureStatus } from './utils/types';
import type { TestContext } from './utils/testContext';
/**
 * Number of page states to send to the server at once.
 *
 * Increasing this too much will cause the server to 413 (Request
 * Entity Too Large), as the request body will be enormous.
 */
export declare const MAX_PAGE_STATES_PER_REQUEST = 5;
/**
 * The maximum number of times to retry sending results to the server.
 */
export declare const MAX_RETRIES = 3;
export interface Result {
    page_state: string;
    results: AxeResults;
    screenshot: string | null;
    screenshot_id: string | null;
    screenshot_path?: string | null;
    run_context: ElementContext | null;
    run_options: RunOptions | null;
    skipped_url: string | null;
    test_context: TestContext | null;
}
interface SendResultsToServerParams {
    results: Result[];
    debugLogger: debug.Debugger;
    skipped_url?: string | null;
}
export declare const sendResultsToServer: ({ results, debugLogger }: SendResultsToServerParams) => Promise<void | SendResultsFailureStatus>;
export declare class MaximumRetriesReached extends Error {
    constructor();
}
export default sendResultsToServer;
