import type { AcpMiddleware, AcpSpawnContext } from "./types.js";
export interface AcpTraceSpan {
    name: string;
    kind: "agent" | "tool";
    input?: unknown;
    output?: unknown;
    metadata?: Record<string, unknown>;
    metrics?: Record<string, number>;
    startTs?: number;
    endTs?: number;
    children: AcpTraceSpan[];
}
export interface AcpTrace {
    root: AcpTraceSpan;
}
export type TraceSink = (trace: AcpTrace) => void | Promise<void>;
export declare function acpToTrace(ctx: AcpSpawnContext): AcpTrace;
export declare function createTraceSinkMiddleware(sink: TraceSink): AcpMiddleware;
