import type { TurnControl } from '../../types/channel.js'; import type { ToolCallRecord } from '../../types/session.js'; import type { SourceRef } from '../../types/knowledge.js'; import type { RunContext } from '../../types/run-context.js'; export interface PreTurnResult { proceed: boolean; userMessage: string; blockedMessage?: string; /** Id of the processor/policy that blocked (set when `proceed` is false). */ blockedBy?: string; /** Machine-readable block reason (set when `proceed` is false). */ blockedReason?: string; } export interface PostTurnResult { proceed: boolean; text: string; blockedMessage?: string; control?: TurnControl; confidence?: number; } export declare function applyPreTurnPolicies(ctx: RunContext): Promise; export declare function applyPostTurnPolicies(ctx: RunContext, assistantOutput: string, toolCallsMade?: ToolCallRecord[], knowledgeCitations?: SourceRef[]): Promise;