import type { RemoteDebugger } from '../remote-debugger';
/**
 * Launches Safari application on the device by sending a launch command
 * to the remote debugger.
 */
export declare function launchSafari(this: RemoteDebugger): Promise<void>;
/**
 * Starts recording the timeline by registering an event listener and
 * sending the Timeline.start command to the remote debugger.
 *
 * @param fn - Event listener function that will be called when timeline events are recorded.
 * @returns A promise that resolves when the timeline recording has started.
 */
export declare function startTimeline(this: RemoteDebugger, fn: import('../types').EventListener): Promise<any>;
/**
 * Stops recording the timeline by sending the Timeline.stop command
 * to the remote debugger.
 */
export declare function stopTimeline(this: RemoteDebugger): Promise<any>;
/**
 * Overrides the user agent string for the current page.
 * Note: This may not work for mobile Safari.
 *
 * @param value - The user agent string to set.
 * @returns A promise that resolves when the user agent has been overridden.
 */
export declare function overrideUserAgent(this: RemoteDebugger, value: string): Promise<any>;
/**
 * Checks whether JavaScript execution is currently blocked on the page
 * by attempting to execute a simple JavaScript command with a timeout.
 *
 * @param timeoutMs - The maximum amount of milliseconds to wait for a JavaScript
 *                    command response. Defaults to 1000ms.
 * @returns A promise that resolves to true if JavaScript execution is blocked,
 *          false if it is not blocked.
 */
export declare function isJavascriptExecutionBlocked(this: RemoteDebugger, timeoutMs?: number): Promise<boolean>;
/**
 * Triggers garbage collection on the page's JavaScript heap.
 * This method will gracefully handle cases where garbage collection cannot
 * be performed (e.g., when not connected to a page).
 *
 * @param timeoutMs - Maximum time in milliseconds to wait for garbage collection
 *                    to complete. Defaults to GARBAGE_COLLECT_TIMEOUT_MS (5000ms).
 */
export declare function garbageCollect(this: RemoteDebugger, timeoutMs?: number): Promise<void>;
//# sourceMappingURL=misc.d.ts.map