import type { AgentMessage } from "@mariozechner/pi-agent-core"; import type { BotConfig } from "../../config/config.js"; import type { WorkspaceBootstrapFile } from "../workspace.js"; import type { EmbeddedContextFile } from "./types.js"; type ThoughtSignatureSanitizeOptions = { allowBase64Only?: boolean; includeCamelCase?: boolean; }; /** * Strips Claude-style thought_signature fields from content blocks. * * Gemini expects thought signatures as base64-encoded bytes, but Claude stores message ids * like "msg_abc123...". We only strip "msg_*" to preserve any provider-valid signatures. */ export declare function stripThoughtSignatures(content: T, options?: ThoughtSignatureSanitizeOptions): T; export declare const DEFAULT_BOOTSTRAP_MAX_CHARS = 20000; export declare const DEFAULT_BOOTSTRAP_TOTAL_MAX_CHARS = 150000; export declare const DEFAULT_BOOTSTRAP_PROMPT_TRUNCATION_WARNING_MODE = "once"; export declare function resolveBootstrapMaxChars(cfg?: BotConfig): number; export declare function resolveBootstrapTotalMaxChars(cfg?: BotConfig): number; export declare function resolveBootstrapPromptTruncationWarningMode(cfg?: BotConfig): "off" | "once" | "always"; export declare function ensureSessionHeader(params: { sessionFile: string; sessionId: string; cwd: string; }): Promise; export declare function buildBootstrapContextFiles(files: WorkspaceBootstrapFile[], opts?: { warn?: (message: string) => void; maxChars?: number; totalMaxChars?: number; }): EmbeddedContextFile[]; export declare function sanitizeGoogleTurnOrdering(messages: AgentMessage[]): AgentMessage[]; export {};