import type { InstrumentationEvent } from "#instrumentation/lifecycle.js";
import type { InstrumentationDecision } from "#shared/instrumentation-decision.js";
/** Returns an immutable event projection with conversation content removed. */
export declare function withoutInstrumentationContent(event: InstrumentationEvent): InstrumentationEvent;
/**
 * Projects lifecycle content by direction.
 *
 * Inputs are data entering the agent: delivery/action/tool/model starts and a
 * resolved user's response. Outputs are data produced by the agent: requests
 * for user input, action/tool/model terminals, provider metadata, and errors.
 */
export declare function withInstrumentationDecision(event: InstrumentationEvent, decision: Extract<InstrumentationDecision, {
    action: "record";
}>): InstrumentationEvent;
/** Provider metadata fields that describe cost/identity rather than content. */
export declare function structuralProviderMetadata(metadata: Readonly<Record<string, unknown>>): Readonly<Record<string, unknown>>;
