/** * Branch Manager * * Manages branch naming conventions and creation for autopilot workers. */ /** * Branch naming strategy */ export type BranchStrategy = 'per-epic' | 'per-ticket' | 'single'; /** * Branch info */ export interface BranchInfo { name: string; baseBranch: string; type: 'epic' | 'worker' | 'ticket'; exists: boolean; } /** * Branch Manager Options */ export interface BranchManagerOptions { workingDirectory: string; baseBranch?: string; branchPrefix?: string; } /** * Branch Manager * * Handles branch creation, naming, and management for autopilot. */ export declare class BranchManager { private workingDirectory; private baseBranch; private branchPrefix; constructor(options: BranchManagerOptions); /** * Get the current branch name */ getCurrentBranch(): Promise; /** * Get the base branch (main/master/develop) */ getBaseBranch(): Promise; /** * Generate epic branch name */ getEpicBranchName(epicNumber: number): string; /** * Generate worker branch name */ getWorkerBranchName(workerId: number): string; /** * Generate ticket branch name */ getTicketBranchName(ticketNumber: number): string; /** * Generate worker-ticket branch name (for per-ticket strategy) */ getWorkerTicketBranchName(workerId: number, ticketNumber: number): string; /** * Check if a branch exists */ branchExists(branchName: string): Promise; /** * Create a new branch from base */ createBranch(branchName: string, baseBranch?: string): Promise; /** * Create and checkout a branch */ createAndCheckout(branchName: string, baseBranch?: string): Promise; /** * Delete a branch */ deleteBranch(branchName: string, force?: boolean): Promise; /** * Get all autopilot branches */ getAutopilotBranches(): Promise; /** * Get branch info */ getBranchInfo(branchName: string): Promise; /** * Cleanup all autopilot branches */ cleanupAutopilotBranches(force?: boolean): Promise; /** * Get commits between two branches */ getCommitsBetween(fromBranch: string, toBranch: string): Promise>; /** * Check if branch has uncommitted changes */ hasUncommittedChanges(): Promise; /** * Get the latest commit hash for a branch */ getLatestCommit(branchName?: string): Promise; /** * Update working directory */ setWorkingDirectory(dir: string): void; /** * Get working directory */ getWorkingDirectory(): string; } /** * Create a branch manager */ export declare function createBranchManager(options: BranchManagerOptions): BranchManager; //# sourceMappingURL=branch-manager.d.ts.map