import type { OpenClawConfig } from "../config/types.openclaw.js"; type DiagnosticsTimelineEventType = "span.start" | "span.end" | "span.error" | "mark" | "eventLoop.sample" | "provider.request" | "childProcess.exit"; type DiagnosticsTimelineAttributes = Record; type DiagnosticsTimelineEvent = { type: DiagnosticsTimelineEventType; name: string; timestamp?: string; runId?: string; envName?: string; pid?: number; phase?: string; spanId?: string; parentSpanId?: string; durationMs?: number; attributes?: DiagnosticsTimelineAttributes; errorName?: string; errorMessage?: string; p50Ms?: number; p95Ms?: number; p99Ms?: number; maxMs?: number; activeSpanName?: string; provider?: string; operation?: string; ok?: boolean; command?: string; exitCode?: number | null; signal?: string | null; }; type DiagnosticsTimelineSpanOptions = { phase?: string; parentSpanId?: string; attributes?: DiagnosticsTimelineAttributes; config?: OpenClawConfig; env?: NodeJS.ProcessEnv; }; type DiagnosticsTimelineOptions = { config?: OpenClawConfig; env?: NodeJS.ProcessEnv; }; export declare function isDiagnosticsTimelineEnabled(options?: DiagnosticsTimelineOptions): boolean; export declare function emitDiagnosticsTimelineEvent(event: DiagnosticsTimelineEvent, options?: DiagnosticsTimelineOptions): void; export declare function measureDiagnosticsTimelineSpan(name: string, run: () => Promise | T, options?: DiagnosticsTimelineSpanOptions): Promise; export declare function measureDiagnosticsTimelineSpanSync(name: string, run: () => T, options?: DiagnosticsTimelineSpanOptions): T; export declare function flushDiagnosticsTimelineForTest(): Promise; export {};