import type { Network, NetworkEvent } from '../network';
import type { Logger } from '../utils/Logger';
import type { NetworkOptions } from './NetworkOptions';
import type { Client } from 'chrome-remote-interface';
import type Protocol from 'devtools-protocol';
export declare class DefaultNetwork implements Network {
    private readonly cdp;
    private readonly logger;
    private readonly options?;
    private readonly DOMAIN;
    private readonly ALLOWED_TARGETS;
    private listener?;
    private readonly sessions;
    constructor(cdp: Client, logger: Logger, options?: NetworkOptions | undefined);
    attachToTargets(listener: (event: NetworkEvent) => unknown): Promise<void>;
    detachFromTargets(): Promise<void>;
    getRequestBody(requestId: string): Promise<Protocol.Network.GetRequestPostDataResponse>;
    getResponseBody(requestId: string): Promise<Protocol.Network.GetResponseBodyResponse>;
    private ignoreCertificateError;
    private networkEventListener;
    private certificateErrorListener;
    private matchNetworkEvents;
    private recursivelyAttachToTargets;
    private enableAutoAttach;
    private sessionListener;
    private attachedToTargetListener;
    private trackNetworkEvents;
    private targetClosedError;
}
