export type TurnDisposition = 'complete' | 'incomplete' | 'backchannel' | 'wait'; export interface TurnSnapshot { text: string; silenceDurationMs: number; } export interface TurnDecision { disposition: TurnDisposition; confidence: number; holdMs: number; source: 'provider' | 'semantic' | 'heuristic'; } export interface TurnPolicy { decide(snapshot: TurnSnapshot): TurnDecision | Promise; } export declare function hasContinuationHint(text: string): boolean; export declare const heuristicTurnPolicy: TurnPolicy; /** Accumulates provider utterances and commits only after the selected policy settles. */ export declare class TurnCoordinator { private readonly silenceDurationMs; private readonly onCommit; private readonly policy; private readonly parts; private timer; private stoppedAt; private decisionGeneration; constructor(silenceDurationMs: number, onCommit: (text: string, decision: TurnDecision, turnId: string) => void, policy?: TurnPolicy); start(id: string): void; stop(id: string): void; final(id: string, text: string): void; reset(): void; restore(id: string, text: string): void; isIdle(): boolean; private text; private invalidatePendingDecision; private evaluate; private schedule; }