import { IFile, ICapabilities } from "@api-client/core/build/browser.js";
import { nothing, TemplateResult } from "lit";
import type ApiClientScreen from "../ApiClient.screen.js";
import { DataTable } from "../../../ui/table/DataTable.js";
import { DataImportProcessor } from "../../../http-client/store/DataImportProcessor.js";
import { FileSystem } from "../../../store/FileSystem.js";
import '@github/relative-time-element';
import '../../../define/ui/ui-list.js';
import '../../../define/ui/ui-list-item.js';
import '../../../define/ui/ui-dropdown-list.js';
import '../../../define/ui/ui-icon.js';
import '../../../define/ui/ui-icon-button.js';
import '../../../define/ui/ui-button.js';
import '../../../define/ui/ui-divider.js';
import '../../../define/ui/ui-text-field.js';
import '../../../define/dialog/rename-dialog.js';
import '../../../define/store/share-file.js';
declare enum ImportState {
    Analyzing = 0,
    Analyzed = 1,
    Importing = 2,
    Done = 3,
    Error = 4
}
/**
 * A class that specializes in rendering the list of files in HTTP Client.
 */
export declare class FilesPage {
    protected screen: ApiClientScreen;
    fs: FileSystem;
    dt: DataTable<IFile>;
    importProcessor?: DataImportProcessor;
    importState?: ImportState;
    /**
     * A selected in the table item.
     */
    selectedItem?: string;
    errorMessage?: string;
    constructor(screen: ApiClientScreen);
    refresh(): Promise<void>;
    protected cancelCreateProjectDialog(): void;
    protected cancelCreateFolderDialog(): void;
    protected cancelImportDialog(): void;
    protected cancelCreateSchemaDialog(): void;
    protected createProjectHandler(e: SubmitEvent): void;
    protected createFolderHandler(e: SubmitEvent): void;
    protected createSchemaHandler(e: SubmitEvent): void;
    protected addProject(name: string): Promise<void>;
    protected addFolder(name: string): Promise<void>;
    protected addSchema(name: string): Promise<void>;
    protected addFile(file: IFile, media?: unknown): Promise<void>;
    protected pageOptionsSelectHandler(e: CustomEvent): void;
    protected createSelectHandler(e: CustomEvent): void;
    protected importHandler(e: SubmitEvent): void;
    protected processImportFile(file: File): Promise<void>;
    protected continueDataImport(): Promise<void>;
    protected importDialogCloseHandler(): void;
    protected itemActivateHandler(item: IFile): void;
    protected handleTableRender(): void;
    protected handleTableSelect(item: string | string[]): void;
    protected handleTableScrollEnd(): void;
    openProject(key: string): void;
    openDataSchema(key: string): void;
    openFolder(folder: IFile): Promise<void>;
    protected handleFileOptionSelect(e: CustomEvent): void;
    deleteFile(key: string): Promise<void>;
    saveFile(key: string): Promise<void>;
    protected renameFile(key: string): void;
    protected shareFile(key: string): void;
    protected handleSelectedShare(): void;
    protected handleSelectedTrash(): void;
    render(): TemplateResult;
    protected renderSelectedToolbar(): TemplateResult | typeof nothing;
    protected renderSelectionShareButton(selected: IFile): TemplateResult;
    protected renderSelectionDeleteButton(selected: IFile): TemplateResult;
    protected renderCreateButton(): TemplateResult;
    protected renderPageMoreOptions(): TemplateResult;
    protected renderBreadcrumbs(): TemplateResult;
    protected renderFilesTable(): TemplateResult;
    protected renderEmptyTable(): TemplateResult;
    protected renderTableHeader(): TemplateResult[];
    protected renderTableItem(item: IFile): TemplateResult[];
    protected saveFileOption(): TemplateResult;
    protected openFileOption(): TemplateResult | typeof nothing;
    protected deleteFileOption(capabilities: ICapabilities): TemplateResult | typeof nothing;
    protected renameFileOption(capabilities: ICapabilities): TemplateResult | typeof nothing;
    protected shareFileOption(capabilities: ICapabilities): TemplateResult | typeof nothing;
    protected renderFileOptions(item: IFile): TemplateResult;
    protected nameCell(item: IFile): TemplateResult;
    protected ownerCell(item: IFile): TemplateResult;
    protected ownerCellAsync(key: string): Promise<TemplateResult>;
    protected updatedCell(item: IFile): TemplateResult;
    protected optionsCell(item: IFile): TemplateResult;
    protected renderFolderOptions(item: IFile): TemplateResult;
    protected renderCreateProjectDialog(): TemplateResult;
    protected renderCreateSchemaDialog(): TemplateResult;
    protected renderCreateFolderDialog(): TemplateResult;
    protected renderImportDialog(): TemplateResult;
    protected renderImportPage(): TemplateResult;
    protected renderImportInput(): TemplateResult;
    protected renderImportWait(): TemplateResult;
    protected renderImportDone(): TemplateResult;
}
export {};
//# sourceMappingURL=Files.page.d.ts.map