import { AthenaChatPendingAttachment, AthenaChatViewAttachment } from './types.js'; export interface AthenaChatAttachmentGridProps { attachments: readonly AthenaChatViewAttachment[]; className?: string; /** Opens the lightbox for an image attachment. */ onOpenImage?: (fileId: string) => void; } /** * Renders a message's attachments: images in a grid, other files as rows. * * Images use `proxyUrlPath` (session-scoped) and downloads use * `authorizedUrlPath`. `storageKey` is not part of the view model at all, so it * cannot be rendered here even by mistake. */ export declare function AthenaChatAttachmentGrid({ attachments, className, onOpenImage, }: AthenaChatAttachmentGridProps): import("react").JSX.Element | null; export interface AthenaChatPendingAttachmentsProps { attachments: readonly AthenaChatPendingAttachment[]; className?: string; onRemove: (fileId: string) => void; } /** Staged composer attachments with a remove affordance. */ export declare function AthenaChatPendingAttachments({ attachments, className, onRemove, }: AthenaChatPendingAttachmentsProps): import("react").JSX.Element | null; export interface AthenaChatLightboxProps { attachment: AthenaChatViewAttachment | null; onClose: () => void; } /** Fullscreen preview for a single image attachment. */ export declare function AthenaChatLightbox({ attachment, onClose, }: AthenaChatLightboxProps): import("react").JSX.Element | null;