import { EventEmitter } from 'node:events';
import * as connectMixins from './mixins/connect';
import * as executeMixins from './mixins/execute';
import * as messageHandlerMixins from './mixins/message-handlers';
import * as navigationMixins from './mixins/navigate';
import * as cookieMixins from './mixins/cookies';
import * as screenshotMixins from './mixins/screenshot';
import * as eventMixins from './mixins/events';
import * as miscellaneousMixins from './mixins/misc';
import type { RemoteDebuggerOptions, AppDict, EventListener, PageIdKey, AppIdKey } from './types';
import type { AppiumLogger, StringRecord } from '@appium/types';
import type { RpcClient } from './rpc/rpc-client';
import type B from 'bluebird';
export declare const REMOTE_DEBUGGER_PORT = 27753;
export declare class RemoteDebugger extends EventEmitter {
    protected _skippedApps: string[];
    protected _clientEventListeners: StringRecord<EventListener[]>;
    protected _appDict: AppDict;
    protected _appIdKey?: AppIdKey;
    protected _pageIdKey?: PageIdKey;
    protected _connectedDrivers?: StringRecord[];
    protected _currentState?: string;
    protected _pageLoadDelay?: B<void>;
    protected _rpcClient: RpcClient | null;
    protected _pageLoading: boolean;
    protected _navigatingToPage: boolean;
    protected _allowNavigationWithoutReload: boolean;
    protected _pageLoadMs?: number;
    protected readonly _pageLoadStrategy?: string;
    protected readonly _log: AppiumLogger;
    protected readonly _bundleId?: string;
    protected readonly _additionalBundleIds?: string[];
    protected readonly _ignoredBundleIds?: string[];
    protected readonly _platformVersion?: string;
    protected readonly _isSafari: boolean;
    protected readonly _includeSafari: boolean;
    protected readonly _garbageCollectOnExecute: boolean;
    protected readonly _host?: string;
    protected readonly _port?: number;
    protected readonly _socketPath?: string;
    protected readonly _remoteDebugProxy?: any;
    protected readonly _pageReadyTimeout: number;
    protected readonly _logAllCommunication: boolean;
    protected readonly _logAllCommunicationHexDump: boolean;
    protected readonly _socketChunkSize?: number;
    protected readonly _webInspectorMaxFrameLength?: number;
    protected readonly _fullPageInitialization?: boolean;
    static readonly EVENT_PAGE_CHANGE: string;
    static readonly EVENT_DISCONNECT: string;
    static readonly EVENT_FRAMES_DETACHED: string;
    setConnectionKey: typeof connectMixins.setConnectionKey;
    disconnect: typeof connectMixins.disconnect;
    checkPageIsReady: typeof navigationMixins.checkPageIsReady;
    cancelPageLoad: typeof navigationMixins.cancelPageLoad;
    waitForDom: typeof navigationMixins.waitForDom;
    execute: typeof executeMixins.execute;
    executeAtom: typeof executeMixins.executeAtom;
    executeAtomAsync: typeof executeMixins.executeAtomAsync;
    isPageLoadingCompleted: typeof navigationMixins.isPageLoadingCompleted;
    selectApp: typeof connectMixins.selectApp;
    connect: typeof connectMixins.connect;
    selectPage: typeof connectMixins.selectPage;
    navToUrl: typeof navigationMixins.navToUrl;
    getCookies: typeof cookieMixins.getCookies;
    setCookie: typeof cookieMixins.setCookie;
    deleteCookie: typeof cookieMixins.deleteCookie;
    captureScreenshot: typeof screenshotMixins.captureScreenshot;
    addClientEventListener: typeof eventMixins.addClientEventListener;
    removeClientEventListener: typeof eventMixins.removeClientEventListener;
    startConsole: typeof eventMixins.startConsole;
    stopConsole: typeof eventMixins.stopConsole;
    startNetwork: typeof eventMixins.startNetwork;
    stopNetwork: typeof eventMixins.stopNetwork;
    launchSafari: typeof miscellaneousMixins.launchSafari;
    startTimeline: typeof miscellaneousMixins.startTimeline;
    stopTimeline: typeof miscellaneousMixins.stopTimeline;
    overrideUserAgent: typeof miscellaneousMixins.overrideUserAgent;
    garbageCollect: typeof miscellaneousMixins.garbageCollect;
    isJavascriptExecutionBlocked: typeof miscellaneousMixins.isJavascriptExecutionBlocked;
    onPageChange: typeof messageHandlerMixins.onPageChange;
    onConnectedApplicationList: typeof messageHandlerMixins.onConnectedApplicationList;
    onAppConnect: typeof messageHandlerMixins.onAppConnect;
    onAppDisconnect: typeof messageHandlerMixins.onAppDisconnect;
    onAppUpdate: typeof messageHandlerMixins.onAppUpdate;
    onConnectedDriverList: typeof messageHandlerMixins.onConnectedDriverList;
    onCurrentState: typeof messageHandlerMixins.onCurrentState;
    frameDetached: typeof navigationMixins.frameDetached;
    constructor(opts?: RemoteDebuggerOptions);
    get log(): AppiumLogger;
    requireRpcClient(checkConnected?: boolean): RpcClient;
    setup(): void;
    teardown(): void;
    initRpcClient(): Promise<void>;
    get isConnected(): boolean;
    get appDict(): AppDict;
    set allowNavigationWithoutReload(allow: boolean);
    get allowNavigationWithoutReload(): boolean;
    get currentState(): string | undefined;
    get connectedDrivers(): StringRecord[] | undefined;
    get pageLoadMs(): number;
    set pageLoadMs(value: number);
}
export default RemoteDebugger;
//# sourceMappingURL=remote-debugger.d.ts.map