import type { SessionAuthContext } from "#channel/types.js";
import type { ContextReader } from "#context/key.js";
import { type InstrumentationPrincipalSummary } from "#instrumentation/lifecycle.js";
import type { ChannelAudience } from "#shared/channel-audience.js";
import type { InstrumentationDecision } from "#shared/instrumentation-decision.js";
export declare function summarizeInstrumentationPrincipal(principal: SessionAuthContext | null | undefined, audience: ChannelAudience): InstrumentationPrincipalSummary | undefined;
export declare function applyPrincipalTraceDecision(principal: InstrumentationPrincipalSummary | undefined, decision: InstrumentationDecision | undefined): InstrumentationPrincipalSummary | undefined;
export declare function readInstrumentationPrincipals(context: ContextReader, audience: ChannelAudience, decision?: InstrumentationDecision): {
    readonly currentPrincipal?: InstrumentationPrincipalSummary;
    readonly initiatorPrincipal?: InstrumentationPrincipalSummary;
};
