import type { ChatAttachment, ChatAttachmentUpload, ChatMessage } from './useChatAgent.types';
/**
 * Normalizes attachment metadata so downstream consumers can rely on required fields.
 */
export declare const sanitizeAttachment: (attachment: ChatAttachment | ChatAttachmentUpload) => ChatAttachment;
/**
 * Converts a raw byte count into a human-readable size string.
 */
export declare const formatFileSize: (bytes: number) => string;
/**
 * Builds a numbered summary describing each attachment for prompt enrichment.
 */
export declare const buildAttachmentSummaryText: (attachments: ChatAttachment[]) => string;
/**
 * Renders a human-readable summary of a slash command invocation, or null when absent.
 */
export declare const buildSlashCommandPromptSummary: (slashCommand: ChatMessage["slashCommand"]) => string | null;
/**
 * Derives prompt content segments for a user message, including command summaries and attachments.
 */
export declare const buildUserContentSegments: (message: ChatMessage) => string[];
/**
 * Compares two cached attachments for equality across the persisted fields we care about.
 */
export declare const attachmentsEqual: (a: ChatAttachment | undefined, b: ChatAttachment) => boolean;
//# sourceMappingURL=attachments.d.ts.map