/**
 * Git Worktree Service Implementation
 *
 * Manages git worktrees using native execFile for process execution.
 * Uses constructor dependency injection for the command executor
 * to enable testability without mocking node:child_process directly.
 */
import type { IWorktreeService, WorktreeInfo } from '../../../application/ports/output/services/worktree-service.interface.js';
/**
 * Type for the command executor dependency.
 * Matches the promisified signature of child_process.execFile.
 */
export type ExecFunction = (file: string, args: string[], options?: object) => Promise<{
    stdout: string;
    stderr: string;
}>;
export declare class WorktreeService implements IWorktreeService {
    private readonly execFile;
    constructor(execFile: ExecFunction);
    create(repoPath: string, branch: string, worktreePath: string, startPoint?: string): Promise<WorktreeInfo>;
    addExisting(repoPath: string, branch: string, worktreePath: string): Promise<WorktreeInfo>;
    remove(repoPath: string, worktreePath: string, force?: boolean): Promise<void>;
    prune(repoPath: string): Promise<void>;
    list(repoPath: string): Promise<WorktreeInfo[]>;
    exists(repoPath: string, branch: string): Promise<boolean>;
    branchExists(repoPath: string, branch: string): Promise<boolean>;
    remoteBranchExists(repoPath: string, branch: string): Promise<boolean>;
    listBranches(repoPath: string): Promise<string[]>;
    ensureGitRepository(repoPath: string): Promise<void>;
    getWorktreePath(repoPath: string, branch: string): string;
    private parseWorktreeOutput;
    private parseGitError;
    private arePathsEquivalent;
    private normalizeWorktreePath;
}
//# sourceMappingURL=worktree.service.d.ts.map