import type { RuntimeTraceContext } from "#protocol/message.js"; import type { InstrumentationSessionStartedEvent, InstrumentationTraceSeed, InstrumentationTurnStartedEvent } from "#instrumentation/lifecycle.js"; /** Prepares native session/turn tracing before their durable stream events. */ export interface PrepareTurnTraceContextInput { readonly instrumentation?: { readonly prepareSessionTrace?: (event: InstrumentationSessionStartedEvent) => Promise; readonly prepareTurnTrace?: (event: InstrumentationTurnStartedEvent) => Promise; }; readonly session: Omit; readonly principals?: Pick; readonly sequence: number; readonly sessionStarted: boolean; readonly traceContext?: RuntimeTraceContext; /** Omit when preparing the session boundary before the first turn exists. */ readonly turnId?: string; } export declare function prepareTurnTraceContext(input: PrepareTurnTraceContextInput): Promise;