import { TrashEntry, BroadcastEvent } from "@api-client/core/build/browser.js";
import { TemplateResult } from "lit";
import '@github/relative-time-element';
import { DataTable } from "../../../ui/table/DataTable.js";
import type ApiClientScreen from "../ApiClient.screen.js";
import '../../../define/ui/ui-icon.js';
/**
 * A class that specializes in rendering the list of trash in HTTP Client.
 */
export declare class TrashPage {
    protected screen: ApiClientScreen;
    files: TrashEntry[];
    /**
     * The pagination cursor for trash.
     * As long there's a cursor, there are more files to request.
     */
    cursor?: string;
    dt: DataTable<TrashEntry>;
    readingFiles?: boolean;
    /**
     * The list of keys of files to delete.
     */
    deleteKeys?: string[];
    get deleteItems(): TrashEntry[];
    constructor(screen: ApiClientScreen);
    handleFileEvent(event: BroadcastEvent): void;
    protected handleTrashAdded(item: TrashEntry): void;
    protected handleTrashRemoved(key: string): void;
    refresh(): Promise<void>;
    resetList(): void;
    readFiles(): Promise<void>;
    /**
     * Sorts files on the list.
     *
     * Folders are always on top.
     */
    filesSortFunction(a: TrashEntry, b: TrashEntry): number;
    protected itemOptionsSelectHandler(e: CustomEvent): void;
    restoreItem(key: string): Promise<void>;
    deleteItem(key: string): Promise<void>;
    protected openEmptyAllDialogHandler(): void;
    protected cancelDeleteAllDialog(): void;
    protected deleteAllHandler(): void;
    protected cancelDeleteFilesDialog(): void;
    protected deleteFilesHandler(): void;
    render(): TemplateResult;
    protected renderEmptyTrash(): TemplateResult;
    protected renderTrashTable(): TemplateResult;
    protected renderEmptyTable(): TemplateResult;
    protected renderTableHeader(): TemplateResult[];
    protected renderTableItem(item: TrashEntry): TemplateResult[];
    protected renderItemOptions(item: TrashEntry): TemplateResult;
    protected renderDeleteAllDialog(): TemplateResult;
    protected renderDeleteFilesDialog(): TemplateResult;
    protected renderDeleteSingleFile(item: TrashEntry): TemplateResult;
    protected renderDeleteMultiFile(items: TrashEntry[]): TemplateResult;
}
//# sourceMappingURL=Trash.page.d.ts.map