import type { SessionId, TurnId } from '../ids/index.js'; import type { ProbeEventKind, VetoableEventKind } from './event-kind.js'; import type { ProbeEventOf } from './event-of.js'; export type Unsubscribe = () => void; export interface ProbeContext { readonly sessionId?: SessionId; readonly turnId?: TurnId; readonly isReplay: boolean; } export type ProbeHandler = (event: ProbeEventOf, ctx: ProbeContext) => void; export type VetoDecision = 'allow' | 'deny' | { readonly action: 'deny'; readonly reason: string; }; export type VetoHandler = (event: ProbeEventOf, ctx: ProbeContext) => VetoDecision; export interface VetoOutcome { readonly action: 'allow' | 'deny'; readonly probeName?: string; readonly reason?: string; } export interface ProbeOptions { readonly where?: (event: ProbeEventOf) => boolean; readonly priority?: number; readonly name?: string; /** * **Not implemented.** Setting it changes nothing; no probe emits * telemetry because of it. * * @deprecated Unimplemented. Removed in the next major. */ readonly otel?: boolean; readonly override?: boolean; } //# sourceMappingURL=registry.d.ts.map