import { default as React } from 'react'; export interface FileNode { /** File/folder name */ name: string; /** Full path */ path: string; /** Whether this is a directory */ isDirectory: boolean; /** File size in bytes (for files) */ size?: number; /** Last modified date */ modified?: string | Date; /** MIME type */ mimeType?: string; /** Children (for directories) */ children?: FileNode[]; /** Custom icon name */ icon?: string; /** Whether the file is readonly */ readonly?: boolean; } export type FileViewMode = "tree" | "list"; export type FileSortBy = "name" | "size" | "modified"; export type FileSortDir = "asc" | "desc"; export interface FileExplorerProps { /** Root file tree */ files: FileNode[]; /** Height (default: 500) */ height?: number | string; /** Title */ title?: string; /** View mode (default: 'list') */ viewMode?: FileViewMode; /** Show search bar (default: true) */ showSearch?: boolean; /** Show breadcrumbs (default: true) */ showBreadcrumbs?: boolean; /** Show file details (size, date) (default: true) */ showDetails?: boolean; /** Allow multi-select (default: false) */ multiSelect?: boolean; /** Allow upload (default: false) */ allowUpload?: boolean; /** Allow delete (default: false) */ allowDelete?: boolean; /** Called when a file is opened/double-clicked */ onFileOpen?: (file: FileNode) => void; /** Called when download is requested */ onFileDownload?: (file: FileNode) => void; /** Called when delete is requested */ onFileDelete?: (files: FileNode[]) => void; /** Called when files are uploaded */ onFileUpload?: (files: File[], targetPath: string) => void; /** Called when selection changes */ onSelectionChange?: (files: FileNode[]) => void; /** CSS class */ className?: string; /** Show outer container border (default: true). Set false when embedded inside a Container/card. */ bordered?: boolean; /** Custom style overrides for the outer container */ style?: React.CSSProperties; } export declare const FileExplorer: React.NamedExoticComponent; export default FileExplorer;