import { TemplateResult } from 'lit';
import { DataTable } from '../DataTable.js';
import type { IFile } from '@api-client/core/models/store/File.js';
import type { IUser } from '@api-client/core/models/store/User.js';
import { LiveData } from '../../../reactive/LiveData.js';
import type { UiMenuItemElement } from '../../../md/menu/ui-menu-item.js';
/**
 * A class that render QuickAPI file system.
 * The user can browse files and perform actions on them.
 *
 * @fires rowaction Dispatched when the user triggers an action on the file.
 *     - `detail`: An object with a `key` and `action` property
 *     - Example: `{ key: 'abc', action: 'delete' }`
 * @attribute sort
 * @attribute sortDirection
 */
export default class FilesystemDataTable extends DataTable<IFile> {
    #private;
    /**
     * The currently logged in user.
     */
    accessor user: IUser | undefined;
    /**
     * The organization ID these files belongs to.
     * @attribute
     */
    accessor oid: string | undefined;
    items: LiveData<IFile[]> | undefined;
    protected handleFileMenuSelect(e: CustomEvent<{
        item: UiMenuItemElement;
    }>): void;
    renderEmpty(): TemplateResult;
    renderHeader(): TemplateResult[];
    renderRowValues(item: IFile, index: number): TemplateResult[];
}
//# sourceMappingURL=FilesystemDataTable.d.ts.map