import { type VariantProps } from 'class-variance-authority'; import type { FileManagerAddMenuItem, FileManagerHandle, FileManagerItem, FileManagerItemAction, FileManagerPermissionsInput, FileManagerUploadConfig, FileManagerUploadHandler } from './types'; declare const fileManagerVariants: (props?: ({ bordered?: boolean | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; export interface FileManagerProps extends VariantProps { /** Opaque instance id — emitted as `data-component-id` for the agent registry. */ id?: string; /** Flat item list keyed by `parentId`. The host owns this data. */ items: FileManagerItem[]; /** * Capability gates — a flat set or a per-item resolver. Default is all-true * (see FileManagerPermissions); `delete` always routes through a confirm. */ permissions?: FileManagerPermissionsInput; /** Controlled current folder (`null` = root). */ folderId?: string | null; /** @default null */ defaultFolderId?: string | null; onNavigate?: (folderId: string | null) => void; onSelectionChange?: (ids: string[]) => void; /** * Opt-in folder-tree nav pane, rendered as a sidebar (hidden below the md * breakpoint). The default layout is the table full-width with the folder * breadcrumb in the footer; when `groupByFolder` is on the tree data already * surfaces folders in the list, so the sidebar is redundant unless a consumer * explicitly wants it. * @default false — opt-in nav pane */ showTree?: boolean; /** Render the Skeleton loading state instead of the folder contents. */ isLoading?: boolean; /** Opening a file resolves here (folders navigate internally). */ onOpenFile?: (item: FileManagerItem) => void; onCreateFolder?: (name: string, parentId: string | null) => void | Promise; onRenameItem?: (itemId: string, name: string) => void | Promise; onDeleteItems?: (itemIds: string[]) => void | Promise; onMoveItems?: (itemIds: string[], targetFolderId: string | null) => void | Promise; onDownloadItems?: (itemIds: string[]) => void; /** Share affordance (kebab + toolbar). Hidden when absent. */ onShare?: (itemIds: string[]) => void; /** * Request a signature for a pending-signature item. The action only appears * on items whose `signatureStatus` is `'pending'`; hidden when absent. */ onRequestSignature?: (item: FileManagerItem) => void; /** Per-file upload handler (host owns transport). Enables the upload UI. */ onUpload?: FileManagerUploadHandler; /** Upload transport config forwarded to the kit FileUpload. */ uploadConfig?: FileManagerUploadConfig; /** * Fired when a **file** row is activated by a single click, or by keyboard * Enter on the selected file when this handler is wired (folders navigate * internally; double-click always resolves `onOpenFile`). The host is * expected to render the kit `DocumentPreview` in response — typically inside * the Control Room rail. When absent, single-click just selects the row and * Enter falls back to `onOpenFile`. */ onPreviewItem?: (item: FileManagerItem) => void; /** * Id of the file the host is currently previewing (e.g. open in the rail). * When set, the matching list row reuses the DataTable's selected-row tint so * the user can see which document is open. `null` clears the highlight. */ previewedItemId?: string | null; /** Consumer actions appended after the built-in per-item kebab entries. */ itemActions?: (item: FileManagerItem) => FileManagerItemAction[]; /** Consumer entries appended after the built-in action buttons. */ addMenuItems?: FileManagerAddMenuItem[]; /** * Nest files under their folders (Finder/Explorer style) via AG Grid Tree * Data. Requires the consumer to register the Enterprise `TreeDataModule` * (`ModuleRegistry.registerModules([TreeDataModule])`); the `treeData` / * `getDataPath` / `autoGroupColumnDef` flags set here are inert until it is. * @default false */ groupByFolder?: boolean; className?: string; } export declare const FileManager: import("react").ForwardRefExoticComponent>; export {}; //# sourceMappingURL=file-manager.d.ts.map