import type { Eyes } from './Eyes';
import { RectangleSizeData } from './input/RectangleSize';
import { TestResultsData } from './output/TestResults';
import { ValidationInfoData } from './output/ValidationInfo';
import { ValidationResultData } from './output/ValidationResult';
/** @deprecated */
export declare abstract class SessionEventHandler {
    abstract initStarted(): any;
    abstract initEnded(): any;
    abstract setSizeWillStart(viewportSize: RectangleSizeData): any;
    abstract setSizeEnded(): any;
    abstract testStarted(sessionId: string): any;
    abstract testEnded(sessionId: string, testResults: TestResultsData): any;
    abstract validationWillStart(sessionId: string, validationInfo: ValidationInfoData): any;
    abstract validationEnded(sessionId: string, validationId: number, validationResult: ValidationResultData): any;
    private _detach?;
    /** @internal */
    attach(eyes: Eyes): void;
    /** @internal */
    detach(): void;
}
/** @deprecated */
export declare class SessionEventHandlers extends SessionEventHandler {
    private _handlers;
    addEventHandler(handler: SessionEventHandler): void;
    removeEventHandler(handler: SessionEventHandler): void;
    clearEventHandlers(): void;
    initStarted(): void;
    initEnded(): void;
    setSizeWillStart(viewportSize: RectangleSizeData): void;
    setSizeEnded(): void;
    testStarted(sessionId: string): void;
    testEnded(sessionId: string, testResults: TestResultsData): void;
    validationWillStart(sessionId: string, validationInfo: ValidationInfoData): void;
    validationEnded(sessionId: string, validationId: number, validationResult: ValidationResultData): void;
}
/**
 * @undocumented
 * @deprecated
 */
export declare class RemoteSessionEventHandler extends SessionEventHandler {
    private _serverUrl;
    private _accessKey?;
    private _timeout?;
    constructor(options: {
        serverUrl: string;
        accessKey?: string;
        timeout?: number;
    });
    constructor(serverUrl: string, accessKey?: string, timeout?: number);
    get serverUrl(): string;
    set serverUrl(serverUrl: string);
    getServerUrl(): string;
    setServerUrl(serverUrl: string): void;
    get accessKey(): string | undefined;
    set accessKey(accessKey: string | undefined);
    getAccessKey(): string | undefined;
    setAccessKey(accessKey: string): void;
    get timeout(): number | undefined;
    set timeout(timeout: number | undefined);
    setTimeout(timeout: number): void;
    getTimeout(): number | undefined;
    initStarted(): void;
    initEnded(): void;
    setSizeWillStart(): void;
    setSizeEnded(): void;
    testStarted(): void;
    testEnded(): void;
    validationWillStart(): void;
    validationEnded(): void;
    /** @internal */
    toJSON(): {
        serverUrl: string;
        accessKey?: string;
    };
    /** @internal */
    toString(): string;
}
