import { AssistantAttachment, AssistantInlineLimits } from './attachments'; import { AssistantPromptPart } from './types'; export interface BoundedAttachmentTurn { prompt: string; parts: AssistantPromptPart[] | undefined; } /** * Fit the FINAL request, after the product preamble and page context are known. * The caller measures the real GraphQL envelope; character counts and a fixed * headroom allowance cannot account for arbitrary URLs, metadata or Unicode. * Ordinary turns keep the existing prompt/parts byte-for-byte. */ export declare function buildBoundedAttachmentTurn({ content, attachments, limits, wrapPrompt, requestBytes, }: { content: string; attachments: AssistantAttachment[]; limits: AssistantInlineLimits; /** Pure product preamble; evaluated for each candidate budget. */ wrapPrompt: (text: string) => string; requestBytes: (prompt: string, parts?: AssistantPromptPart[]) => number; }): BoundedAttachmentTurn; //# sourceMappingURL=attachmentTurn.d.ts.map