import type { FileMetadata } from '../../models/interfaces';
export interface FileUploadAggregateProgress {
    current: number;
    total: number;
}
interface FileState {
    files: Record<string, FileMetadata>;
    order: string[];
    uploading: boolean;
    deleting: string | null;
    uploadProgress: FileUploadAggregateProgress | null;
    setFiles: (files: FileMetadata[], opts?: {
        merge?: boolean;
    }) => void;
    addFile: (file: FileMetadata, opts?: {
        prepend?: boolean;
    }) => void;
    updateFile: (id: string, patch: Partial<FileMetadata>) => void;
    removeFile: (id: string) => void;
    setUploading: (val: boolean) => void;
    setDeleting: (id: string | null) => void;
    setUploadProgress: (p: FileUploadAggregateProgress | null) => void;
    reset: () => void;
}
export declare const useFileStore: import("zustand").UseBoundStore<import("zustand").StoreApi<FileState>>;
export declare const useFiles: () => FileMetadata[];
export declare const useUploading: () => boolean;
export declare const useUploadAggregateProgress: () => FileUploadAggregateProgress | null;
export declare const useDeleting: () => string | null;
export {};
//# sourceMappingURL=fileStore.d.ts.map