import type { UmbControllerHost } from '../../../../libs/controller-api/index.js';
import type { UmbEntityModel } from '../../entity/index.js';
import type { ManifestEntityAction, MetaEntityActionDefaultKind } from '../../entity-action/index.js';
import type { UmbDataSourceResponse } from '../../repository/index.js';
export interface UmbRenameServerFileRepository<DetailType extends UmbEntityModel> {
    rename(unique: string, name: string): Promise<UmbDataSourceResponse<DetailType>>;
}
export interface UmbRenameServerFileDataSourceConstructor<DetailType extends UmbEntityModel> {
    new (host: UmbControllerHost): UmbRenameServerFileDataSource<DetailType>;
}
export interface UmbRenameServerFileDataSource<DetailType extends UmbEntityModel> {
    rename(unique: string, name: string): Promise<UmbDataSourceResponse<DetailType>>;
}
export interface ManifestEntityActionRenameServerFileKind extends ManifestEntityAction<MetaEntityActionRenameServerFileKind> {
    type: 'entityAction';
    kind: 'renameServerFile';
}
export interface MetaEntityActionRenameServerFileKind extends MetaEntityActionDefaultKind {
    renameRepositoryAlias: string;
    itemRepositoryAlias: string;
}
declare global {
    interface UmbExtensionManifestMap {
        umbRenameFileServerFileEntityActionKind: ManifestEntityActionRenameServerFileKind;
    }
}
