import { LineConsumingLog } from './line-consuming-log';
import type { AppiumLogger } from '@appium/types';
export interface SafariConsoleLogOptions {
    showLogs: boolean;
    log: AppiumLogger;
}
export interface SafariNetworkResponseTiming {
    responseStart: number;
    receiveHeadersEnd: number;
}
export interface SafariNetworkResponse {
    url: string;
    status: number;
    timing: SafariNetworkResponseTiming;
    source: string;
}
export interface SafariNetworkLogEntryMetrics {
    responseBodyBytesReceived: number;
}
export interface SafariNetworkLogEntry {
    requestId: string;
    response?: SafariNetworkResponse;
    type?: string;
    initiator?: string;
    metrics?: SafariNetworkLogEntryMetrics;
    errorText?: string;
    canceled?: boolean;
}
export declare class SafariNetworkLog extends LineConsumingLog {
    private readonly _showLogs;
    constructor(opts: SafariConsoleLogOptions);
    startCapture(): Promise<void>;
    stopCapture(): Promise<void>;
    get isCapturing(): boolean;
    onNetworkEvent(method: string, entry: SafariNetworkLogEntry): void;
}
export default SafariNetworkLog;
//# sourceMappingURL=safari-network-log.d.ts.map