import type { UmbRecycleBinOriginalParentRequestArgs, UmbRecycleBinRestoreRequestArgs, UmbRecycleBinTrashRequestArgs } from './types.js';
import type { UmbControllerHost } from '../../../libs/controller-api/index.js';
import type { UmbDataSourceResponse } from '../repository/index.js';
export interface UmbRecycleBinDataSourceConstructor {
    new (host: UmbControllerHost): UmbRecycleBinDataSource;
}
export interface UmbRecycleBinDataSource {
    trash(args: UmbRecycleBinTrashRequestArgs): Promise<UmbDataSourceResponse>;
    restore(args: UmbRecycleBinRestoreRequestArgs): Promise<UmbDataSourceResponse>;
    empty(): Promise<UmbDataSourceResponse>;
    getOriginalParent(args: UmbRecycleBinOriginalParentRequestArgs): Promise<UmbDataSourceResponse>;
}
