export declare const DEFAULT_SAFE_TEXT_STREAM_GATE_MAX_BUFFERED_CHARS = 1024;
export type SafeTextStreamGateMode = "generate-preview" | "respond-preview" | "structured-decision-preview";
export type SafeTextStreamGateResult = {
    kind: "block";
    reasonCode: "terminal-control-payload";
} | {
    kind: "emit";
    text: string;
} | {
    kind: "hold";
} | {
    deltaLength: number;
    kind: "suppress";
    reasonCode: "structured-preview-disabled";
};
export type SafeTextStreamGate = {
    flush: () => SafeTextStreamGateResult;
    push: (delta: string) => SafeTextStreamGateResult;
};
export declare function createSafeTextStreamGate(input: {
    allowTextPreview?: boolean;
    maxAmbiguousRuntimeJsonChars?: number;
    maxBufferedChars?: number;
    maxOpenFenceBufferedChars?: number;
    maxStandaloneJsonChars?: number;
    structuredPreviewMinEmitChars?: number;
    mode?: SafeTextStreamGateMode;
    toolNames?: readonly string[];
}): SafeTextStreamGate;
//# sourceMappingURL=safe-text-stream-gate.d.ts.map