import { Model } from '../core/Model.js';
import { LiveData } from '../reactive/LiveData.js';
import type SdkService from '../services/SdkService.js';
import type { TrashEntry } from '@api-client/core/models/TrashEntry.js';
import type { ContextListOptions } from '@api-client/core/events/BaseEvents.js';
declare enum ModelState {
    /**
     * Not doing anything.
     */
    idle = 0,
    /**
     * Currently querying for breadcrumb data.
     */
    reading = 1,
    /**
     * Data was received and the result yielded no results or less than the limit.
     */
    ended = 2
}
export default class TrashModel extends Model<TrashEntry[]> {
    #private;
    protected oid: string;
    protected sdk: SdkService;
    /**
     * The current state of the model.
     */
    state: ModelState;
    /**
     * The trash items
     */
    items: LiveData<TrashEntry[]>;
    /**
     * The pagination cursor for files to use with the next query.
     */
    cursor?: string;
    constructor(oid: string, sdk: SdkService);
    reset(): void;
    scheduleQuery(): void;
    getPageQueryOptions(): ContextListOptions;
    /**
     * Finds a file by the key.
     * @param key The key of the file to find
     * @returns The file, if any
     */
    getItem(key: string): TrashEntry | undefined;
    delete(keys: string[]): Promise<void>;
    restore(keys: string[]): Promise<void>;
    removeItems(keys: string[]): void;
}
export {};
//# sourceMappingURL=TrashModel.d.ts.map