/**
 * Delete Repository Use Case
 *
 * Deletes a Repository and all its child features.
 * Each feature is properly cleaned up (agent runs cancelled, worktrees removed)
 * via DeleteFeatureUseCase before the repository is soft-deleted.
 *
 * Optionally removes the repository directory from disk when
 * {@link DeleteRepositoryOptions.deleteFromDisk} is true. The DB soft-delete
 * always runs first so the repository disappears from queries even if the
 * filesystem removal fails.
 */
import type { IRepositoryRepository } from '../../ports/output/repositories/repository-repository.interface.js';
import type { IFeatureRepository } from '../../ports/output/repositories/feature-repository.interface.js';
import type { IFileSystemService } from '../../ports/output/services/file-system-service.interface.js';
import { DeleteFeatureUseCase } from '../features/delete-feature.use-case.js';
export interface DeleteRepositoryOptions {
    /** When true, recursively remove the repository directory from disk. */
    deleteFromDisk?: boolean;
}
export declare class DeleteRepositoryUseCase {
    private readonly repositoryRepo;
    private readonly featureRepo;
    private readonly deleteFeature;
    private readonly fileSystem;
    constructor(repositoryRepo: IRepositoryRepository, featureRepo: IFeatureRepository, deleteFeature: DeleteFeatureUseCase, fileSystem: IFileSystemService);
    execute(id: string, options?: DeleteRepositoryOptions): Promise<void>;
}
//# sourceMappingURL=delete-repository.use-case.d.ts.map