/** Minimal shape of the OpenClaw plugin API surface we need. */ export interface SpanHooksPluginApi { on(hookName: string, handler: (...args: unknown[]) => void | Promise, opts?: { priority?: number; }): void; } export interface RegisterSpanHooksOptions { api: SpanHooksPluginApi; } /** * Grace window the `agent_end` sweep holds a finished model span before ending it, so a * trailing `llm_output` (observed ~1 ms later in the codex/harness flow, but timed generously) * can finalize it with token usage + output messages first. Unref'd, so it never holds the * process open; an orphan run with no `llm_output` lets the timer end the span. */ export declare const MODEL_SPAN_END_GRACE_MS = 2000; export declare function registerSpanHooks(options: RegisterSpanHooksOptions): void; //# sourceMappingURL=span-hooks.d.ts.map