import { PickerAdapter, PickerRequest } from '../types/filePicker'; import { FileBrowserLocation, FileDirectoryListing, FileDirectoryTree, FileSearchResult, ServerMount } from '../types/fileBrowserTypes'; export interface FilePickerTransport { listMounts(request?: PickerRequest): Promise; browse(location: FileBrowserLocation, request?: PickerRequest): Promise; /** `GET …/filesystem/tree`: one request fills the cache for the subfolders too. */ tree?(location: FileBrowserLocation, request?: PickerRequest): Promise; /** `GET …/filesystem/search`: replaces the folder-by-folder search walk. */ search?(location: FileBrowserLocation, query: string, recursive: boolean, request?: PickerRequest): Promise; } export interface FilePickerAdapterOptions { /** Show this directory's contents directly and prevent navigation outside it. */ rootLocation?: FileBrowserLocation; } /** Opaque picker identity; decode before passing a selection to a mount-scoped API. */ export declare function encodePlatformPickerPath(mountId: string, path?: string): string; export declare function decodePlatformPickerPath(path: string): { mountId: string; path: string; }; /** Mount browsing and search shared by platform and generated plugin clients. */ export declare function createFilePickerAdapter(transport: FilePickerTransport, options?: FilePickerAdapterOptions): PickerAdapter;