import { AgentDefinition } from '../types/types.js';
type TurnStatus = 'completed' | 'error';
export declare class TraceContext {
    private readonly agent;
    private readonly operation;
    readonly turnId: string;
    private requestCount;
    private requestNumbers;
    constructor(agent: AgentDefinition, operation: string, turnId?: string);
    private getEventAgentId;
    emitTurnStart(data?: Record<string, unknown>): Promise<void>;
    emitRequestStart(requestId: string, data?: Record<string, unknown>): Promise<number>;
    emitToolStart(requestId: string | undefined, toolCallId: string | undefined, data?: Record<string, unknown>): Promise<void>;
    emitToolDone(requestId: string | undefined, toolCallId: string | undefined, data?: Record<string, unknown>): Promise<void>;
    emitRequestEnd(requestId: string | undefined, data?: Record<string, unknown>): Promise<void>;
    emitTurnEnd(status: TurnStatus, reason: string, data?: Record<string, unknown>): Promise<void>;
    getRequestCount(): number;
}
export declare function createTraceContext(agent: AgentDefinition, operation: string, turnId?: string): TraceContext;
export {};
//# sourceMappingURL=trace_context.d.ts.map