//#region src/text-attachments/text-document-attachments.d.ts
declare function isTextDocumentMimeType(mimeType: string | undefined): mimeType is string;
declare function getDefaultTextDocumentFilename(mimeType: string): string;
declare function decodeTextDocumentBytes(data: Uint8Array): string;
declare function buildTextAttachmentBlock(params: {
  mimeType: string;
  content: string;
  filename?: string;
}): string;
declare function buildDecodedTextAttachmentBlock(params: {
  data: Uint8Array;
  mimeType: string;
  filename?: string;
}): string;
declare const UNAVAILABLE_ATTACHMENT_PLACEHOLDER = "[Attachment unavailable]";
/**
 * Convenience wrapper around `buildTextAttachmentBlock` for the failure path —
 * produces an `<attached_file>...[Attachment unavailable]...</attached_file>` block
 * so the model still sees that an attachment existed even when its bytes are lost.
 */
declare function buildUnavailableTextAttachmentBlock(params: {
  mimeType: string;
  filename?: string;
}): string;
/**
 * Self-closing `<attached_file ... />` marker used when the attachment's content is not
 * (or can no longer be) inlined — e.g. images/PDFs in conversation history, or a text
 * attachment whose bytes failed to decode. The marker preserves provenance for the model
 * so prior attachments don't silently disappear on resume. When `artifactId` and
 * `toolCallId` are provided, the marker is self-describing enough for the model (or
 * downstream tools) to fetch the attachment from the artifact ledger.
 */
declare function buildAttachedFileMarker(params: {
  mimeType?: string;
  filename?: string;
  artifactId?: string;
  toolCallId?: string;
}): string;
//#endregion
export { UNAVAILABLE_ATTACHMENT_PLACEHOLDER, buildAttachedFileMarker, buildDecodedTextAttachmentBlock, buildTextAttachmentBlock, buildUnavailableTextAttachmentBlock, decodeTextDocumentBytes, getDefaultTextDocumentFilename, isTextDocumentMimeType };