import type { DirEntry } from '../types'; export type SortColumn = 'basename' | 'file_size' | 'last_modified' | 'path' | ''; export type SortOrder = 'asc' | 'desc' | ''; export interface SortState { active: boolean; column: SortColumn; order: SortOrder; } export interface CurrentPathState { storage: string; breadcrumb: { basename: string; name: string; path: string; type: 'dir' | 'file'; }[]; path: string; } export interface FilterState { kind: 'all' | 'files' | 'folders'; showHidden: boolean; } export declare function compareValues(a: unknown, b: unknown): number; export declare const createFilesStore: () => { files: import("nanostores").PreinitializedWritableAtom & object; storages: import("nanostores").PreinitializedWritableAtom & object; currentPath: import("nanostores").PreinitializedWritableAtom & object; sort: import("nanostores").PreinitializedWritableAtom & object; filter: import("nanostores").PreinitializedWritableAtom & object; selectedKeys: import("nanostores").PreinitializedWritableAtom> & object; selectedCount: import("nanostores").PreinitializedWritableAtom & object; loading: import("nanostores").PreinitializedWritableAtom & object; draggedItem: import("nanostores").PreinitializedWritableAtom & object; clipboardItems: import("nanostores").PreinitializedWritableAtom<{ type: "cut" | "copy"; path: string; items: Set; }> & object; path: any; sortedFiles: import("nanostores").ReadableAtom; selectedItems: import("nanostores").ReadableAtom; setPath: (value: string, addToHistory?: boolean) => void; setFiles: (newFiles: DirEntry[]) => void; setStorages: (newStorages: string[]) => void; setSort: (column: Exclude, order: Exclude) => void; toggleSort: (column: Exclude) => void; clearSort: () => void; setFilter: (kind: "all" | "files" | "folders", showHidden: boolean) => void; clearFilter: () => void; select: (key: string, selectionMode?: "single" | "multiple") => void; selectMultiple: (keys: string[], selectionMode?: "single" | "multiple") => void; deselect: (key: string) => void; toggleSelect: (key: string, selectionMode?: "single" | "multiple") => void; selectAll: (selectionMode?: "single" | "multiple", app?: any) => void; isSelected: (key: string) => boolean; clearSelection: () => void; setSelection: (paths: string[]) => void; setSelectedCount: (count: number) => void; setLoading: (value: boolean) => void; isLoading: () => boolean; setClipboard: (type: "cut" | "copy", items: Set) => void; createIsCut: (key: string) => import("nanostores").ReadableAtom; createIsCopied: (key: string) => import("nanostores").ReadableAtom; isCut: (key: string) => boolean; isCopied: (key: string) => boolean; clearClipboard: () => void; getClipboard: () => { type: "cut" | "copy"; path: string; items: Set; }; setDraggedItem: (path: string | null) => void; getDraggedItem: () => string | null; clearDraggedItem: () => void; setReadOnly: (value: boolean) => void; getReadOnly: () => boolean; isReadOnly: (file: DirEntry) => boolean; goBack: () => void; goForward: () => void; canGoBack: import("nanostores").ReadableAtom; canGoForward: import("nanostores").ReadableAtom; navigationHistory: import("nanostores").PreinitializedWritableAtom & object; historyIndex: import("nanostores").PreinitializedWritableAtom & object; };