/** Budget primitives. Notes/history use result.ts; reset/budget tools retain output(). */ export { earliestMatchOffsetChars } from "../text-match.js"; export declare const TOOL_OUTPUT_MAX_BYTES: number; export declare const DEFAULT_READ_WINDOW_CHARS = 12000; export declare const MAX_READ_WINDOW_CHARS = 50000; export declare const HISTORY_PREVIEW_CHARS = 1200; /** True when `text` fits the wire budget verbatim, for raw payloads with no JSON encoding. */ export declare function withinTextBudget(text: string, budget?: number): boolean; /** Longest fitting code-point prefix, without inserted markers. Callers report omissions. */ export declare function prefixFit(text: string, fits: (content: string) => boolean): string; /** * Encode a structured result through the common tool result boundary. `details` is slim * metadata for logs/UI (pi convention: never a second copy of the payload) and stays * undefined unless the tool has metadata worth persisting. */ export declare function output(value: unknown, details?: unknown, terminate?: boolean): { content: { type: "text"; text: string; }[]; details: unknown; terminate: boolean; };