import { IFileEntry } from '../lib/directory-reader'; export type FileTypeFilter = 'files' | 'directories' | 'all'; export type FilePickerMode = 'loading' | 'browsing' | 'filtering' | 'error'; export type FilePickerState = { currentPath: string; pathHistory: string[]; entries: IFileEntry[]; focusedIndex: number; selectedPaths: ReadonlySet; previousSelectedPaths: ReadonlySet; multiSelect: boolean; fileTypes: FileTypeFilter; showHidden: boolean; showDetails: boolean; mode: FilePickerMode; filterText: string; filteredEntries: IFileEntry[]; maxHeight: number; viewportFrom: number; viewportTo: number; errorMessage?: string; }; export type FilePickerAction = { type: 'focus-next'; } | { type: 'focus-previous'; } | { type: 'focus-first'; } | { type: 'focus-last'; } | { type: 'select'; } | { type: 'toggle-select'; } | { type: 'go-parent'; } | { type: 'enter-directory'; } | { type: 'enter-filter-mode'; } | { type: 'exit-filter-mode'; } | { type: 'filter-insert'; text: string; } | { type: 'filter-delete'; } | { type: 'set-entries'; path: string; entries: IFileEntry[]; } | { type: 'set-loading'; } | { type: 'set-error'; error: string; } | { type: 'retry'; } | { type: 'reset'; state: FilePickerState; }; export declare function filePickerReducer(state: FilePickerState, action: FilePickerAction): FilePickerState; export declare function createDefaultFilePickerState(options: { initialPath?: string; multiSelect?: boolean; fileTypes?: FileTypeFilter; showHidden?: boolean; showDetails?: boolean; maxHeight?: number; }): FilePickerState; //# sourceMappingURL=file-picker.d.ts.map