import type { JsUint } from './common.js'; import type { ScriptRemoteValue, ScriptSource, ScriptStackTrace } from './script.js'; export type LogEvent = LogEntryAdded; export type LogLevel = "debug" | "info" | "warn" | "error"; export type LogEntry = LogGenericLogEntry | LogConsoleLogEntry | LogJavascriptLogEntry; export interface LogBaseLogEntry { level: LogLevel; source: ScriptSource; text: string | null; timestamp: JsUint; stackTrace?: ScriptStackTrace; } export type LogGenericLogEntry = LogBaseLogEntry & { type: string; }; export type LogConsoleLogEntry = LogBaseLogEntry & { type: "console"; method: string; args: ScriptRemoteValue[]; }; export type LogJavascriptLogEntry = LogBaseLogEntry & { type: "javascript"; }; export interface LogEntryAdded { method: "log.entryAdded"; params: LogEntry; } /** @deprecated Use {@link Log.create} instead — will be removed in a future major version. */ export declare function getLogInspectorInstance(driver: unknown): Promise; export declare class Log { private readonly bidi; private constructor(); static create(driver: unknown): Promise; onEntryAdded(callback: (params: LogEntry) => void): Promise; onConsoleEntry(callback: (params: LogEntry) => void): Promise; onJavascriptLog(callback: (params: LogEntry) => void): Promise; onJavascriptException(callback: (params: LogEntry) => void): Promise; onLog(callback: (params: LogEntry) => void): Promise; }