import type { EnsureResult, MrSource, WorktreeIdentity, WorktreePath } from '../../../modules/worktree-management/entities/worktree/worktree.schema.js';
import type { GitCommandExecutor } from '../../../modules/worktree-management/entities/gitCommand/gitCommand.gateway.js';
export interface EnsureWorktreeInput {
    identity: WorktreeIdentity;
    sourceBranch: string;
    source: MrSource;
    sourceCheckoutPath: string;
}
export interface WorktreeSettingsWriteResult {
    status: 'ok' | 'failed';
    reason?: string;
}
export interface EnsureWorktreeDependencies {
    executor: GitCommandExecutor;
    worktreeExists: (path: WorktreePath) => Promise<boolean>;
    writeWorktreeSettings: (path: WorktreePath) => Promise<WorktreeSettingsWriteResult>;
}
export declare function ensureWorktree(input: EnsureWorktreeInput, deps: EnsureWorktreeDependencies): Promise<EnsureResult>;
//# sourceMappingURL=ensureWorktree.usecase.d.ts.map