import { ReactiveController, ReactiveControllerHost } from 'lit'; import type { PromptBoxAttachment } from '../types'; export interface AttachmentsHost extends ReactiveControllerHost { allowImages: boolean; allowFiles: boolean; acceptedFileTypes: string[]; disabled: boolean; readonly: boolean; pending: boolean; dispatchEvent(event: Event): boolean; } export declare class AttachmentsController implements ReactiveController { private _host; private _attachments; private _idCounter; constructor(host: AttachmentsHost); hostConnected(): void; hostDisconnected(): void; get attachments(): PromptBoxAttachment[]; get hasAttachments(): boolean; get imageAttachments(): PromptBoxAttachment[]; get fileAttachments(): PromptBoxAttachment[]; addFiles(files: File[]): string[]; removeAttachment(id: string): void; clearAttachments(): void; getAttachments(): PromptBoxAttachment[]; handlePastedImages(clipboardData: DataTransfer | null): boolean; getAcceptAttribute(): string; isImageFile(file: File): boolean; private _isImageFile; private _isFileTypeAccepted; private _generateId; private _revokeAllPreviewUrls; private _dispatchChange; }