export interface ConsoleLogScope { projectName: string; sourcePath?: string; caseId?: string; caseName?: string; runId?: string; phase?: string; stepIndex?: number; node?: string; } export type ConsoleWarningDetails = { kind: 'model-request-detail'; modelName: string; error: unknown; } | { kind: 'model-request-retry'; modelName: string; error: unknown; callId: string; attempt: number; maxAttempts: number; delayMs: number; }; export interface ConsoleLogEntry { type: 'warning' | 'report'; topic: string; message: string; scope?: ConsoleLogScope; args?: readonly unknown[]; warning?: ConsoleWarningDetails; } /** Route SDK console messages within one run, without changing other runs or file logs. */ export declare const runWithConsoleLogHandler: (handler: (entry: ConsoleLogEntry) => void, run: () => T) => T; /** Capture the actual async execution scope, including concurrent and late logs. */ export declare const runWithConsoleLogScope: (scope: ConsoleLogScope, run: () => T) => T; export declare function logReport(message: string): void; /** * Overrides the directory used by file logs in the current process. * * Callers that do not configure a resolver keep the standard * `midscene_run/log` location. This is intentionally process-local so an app * can isolate its logs without changing Node.js or CI behavior. */ export declare function setLogDirectoryResolver(resolver: (() => string) | undefined): void; export type DebugFunction = (...args: unknown[]) => void; export declare function getDebug(topic: string, options?: { console?: boolean; warning?: ConsoleWarningDetails; }): DebugFunction; export declare function enableDebug(topic: string): void; //# sourceMappingURL=logger.d.ts.map