import { EventEmitter } from '../../stencil-public-runtime';
import { QuickMessageLibraryFile } from '../../store/type';
export declare class QuickMessageImageComponent {
    handleClose?: () => void;
    value?: string | QuickMessageLibraryFile[];
    isMaster: boolean;
    private searchImage;
    private images;
    private imageDisplayMode;
    private isLoading;
    private isLoadingMore;
    private isUploading;
    private isDeleting;
    private totalImages;
    private totalPages;
    private renameTargetId;
    private renameName;
    private renameExtension;
    private isRenaming;
    private openMenuId;
    private loadedUrls;
    private errorUrls;
    private readonly pageSize;
    private readonly localUploadPrefix;
    private page;
    private currentSearch;
    private fileInput?;
    imagesChange: EventEmitter<QuickMessageLibraryFile[]>;
    sendImages: EventEmitter<QuickMessageLibraryFile[]>;
    private pendingDeleteImageIds;
    private cachedFilteredImages;
    private cachedSearchTerm;
    private cachedImagesLength;
    protected handleDocumentClick(event: Event): void;
    componentWillLoad(): void;
    componentDidLoad(): Promise<void>;
    protected handleValueChange(newValue?: string | QuickMessageLibraryFile[]): void;
    private syncImagesFromProp;
    private parseImagesValue;
    private cloneImages;
    private setImages;
    private isLocalUpload;
    private getRemoteImageCount;
    private mergeFetchedImages;
    /**
     * Memoized image filtering - only recalculates when search term or images change
     * Performance: Reduces operations from 60fps to only when user types
     */
    private filterImages;
    private splitFileName;
    private getRenameTarget;
    private openRenameModal;
    private closeRenameModal;
    private toggleMenu;
    private closeMenu;
    private handleImageLoad;
    private handleImageError;
    private handleMenuRename;
    private requestDeleteImage;
    private handleRenameInput;
    private handleRenameSubmit;
    private toggleImageSelection;
    private toggleSelectAllImages;
    private triggerImageUpload;
    private handleImageSelection;
    private uploadAndCreateImages;
    private renderFileMeta;
    private handleSendImages;
    private requestDeleteSelectedImages;
    private confirmDeleteSelectedImages;
    private fetchImages;
    private loadMoreImages;
    private handleScroll;
    private handleSearchInput;
    private handleSearchSubmit;
    private clearSearch;
    private renderRenameModal;
    private handleChangeDisplayMode;
    render(): any;
}
