export interface CDPCallFrame {
    columnNumber: number;
    functionName: string;
    lineNumber: number;
    url: string;
    scriptId?: string;
}
export declare class RequestDetail {
    id: string;
    constructor(req?: RequestDetail);
    loadCallFrames(_stack?: string): void;
    isHiden(): boolean;
    isWebSocket(): boolean;
    url?: string;
    method?: string;
    cookies: any;
    requestHeaders: any;
    requestData: any;
    responseData: any;
    responseStatusCode?: number;
    responseHeaders: any;
    responseInfo: Partial<{
        encodedDataLength: number;
        dataLength: number;
    }>;
    requestStartTime?: number;
    requestEndTime?: number;
    initiator?: {
        type: string;
        stack: {
            callFrames: CDPCallFrame[];
        };
    };
}
export declare const PORT: number;
export declare const SERVER_PORT: number;
export declare const REMOTE_DEBUGGER_PORT: number;
export declare const IS_DEV_MODE: boolean;
export declare const READY_MESSAGE = "ready";
export declare const __filename: string;
export declare const __dirname: string;
export interface RegisterOptions {
    /**
     * @description Main Process Port
     * @default 5270
     */
    port?: number;
    /**
     * @description CDP Server Port, used for Devtool
     * @link devtools://devtools/bundled/inspector.html?ws=127.0.0.1:${serverPort}
     * @default 5271
     */
    serverPort?: number;
    /**
     * @description Whether to automatically open Devtool
     * @default true
     */
    autoOpenDevtool?: boolean;
    /**
     * @description Options for intercepting different types of requests.
     *   If a property is set to `false`, that specific type of request will not be intercepted.
     *   By default, all are intercepted if not explicitly set.
     */
    intercept?: {
        /**
         * @description Whether to intercept `fetch` requests.
         * @default true
         */
        fetch?: boolean;
        /**
         * @description Whether to intercept `http/https` requests.
         * @default true
         */
        normal?: boolean;
        /**
         * @description Options for intercepting `undici` requests.
         *   Set to `false` to disable all undici interception.
         *   Otherwise, configure specific undici interception options.
         * @default false
         */
        undici?: false | {
            /**
             * @description Whether to intercept `undici`'s `fetch` requests.
             * @default false
             */
            fetch?: false | {};
            /**
             * @description Whether to intercept `undici`'s normal requests.
             * @default false
             */
            normal?: false | {};
        };
    };
}
export declare const NETWORK_CONTEXT_KEY = "x-network-context";
export declare const WS_PROTOCOL = "ws";
export declare const CONTEXT_KEY_PORT = "x-network-context-port";
export declare const CONTEXT_KEY_SERVER_PORT = "x-network-context-server-port";
export declare const CONTEXT_KEY_AUTO_OPEN_DEVTOOL = "x-network-context-auto-open-devtools";
export declare const CONTEXT_KEY_INTERCEPT_NORMAL = "x-network-context-intercept-normal";
export declare const CONTEXT_KEY_INTERCEPT_FETCH = "x-network-context-intercept-fetch";
export declare const CONTEXT_KEY_INTERCEPT_UNDICI_FETCH = "x-network-context-intercept-undici-fetch";
export declare const CONTEXT_KEY_HASH = "x-network-context-hash";
export interface ConnectOptions {
    /**
     * @description Main Process Port
     * @default 5270
     */
    port?: number;
}
export interface UnregisterOptions {
    /**
     * @description Main Process Port
     * @default 5270
     */
    port?: number;
}
export interface SendMessageOptions {
    /**
     * @description Main Process Port
     * @default 5270
     */
    port?: number;
}
export type RequestPipe = (req: RequestDetail) => RequestDetail | null;
export interface SetRequestInterceptorOptions {
    /**
     * @description Main Process Port
     * @default 5270
     */
    port?: number;
    request?: RequestPipe;
}
export interface SetResponseInterceptorOptions {
    /**
     * @description Main Process Port
     * @default 5270
     */
    port?: number;
    response?: RequestPipe;
}
export interface RemoveRequestInterceptorOptions {
    /**
     * @description Main Process Port
     * @default 5270
     */
    port?: number;
}
export interface RemoveResponseInterceptorOptions {
    /**
     * @description Main Process Port
     * @default 5270
     */
    port?: number;
}
//# sourceMappingURL=common.d.ts.map