import type { SpecBranch, CreateSpecBranchInput } from '../../types/index.js';
/** Validate branch name: lowercase kebab-case, non-empty. */
export declare function isValidBranchName(name: string): boolean;
/** Load a branch. Returns null if not found. */
export declare function loadBranch(dataDir: string, specId: string, branchName: string): Promise<SpecBranch | null>;
/**
 * Create a new spec branch.
 * Throws if branch name is invalid, already exists, or fromVersion is not found.
 */
export declare function createBranch(dataDir: string, input: CreateSpecBranchInput): Promise<SpecBranch>;
/** Update the content of an existing branch. Throws if not found. */
export declare function updateBranchContent(dataDir: string, specId: string, branchName: string, newContent: string): Promise<SpecBranch>;
/** List all branches for a spec. Returns empty array if none found. */
export declare function listBranches(dataDir: string, specId: string): Promise<SpecBranch[]>;
/** Delete a branch after a successful merge. Returns true if deleted, false if not found. */
export declare function deleteBranch(dataDir: string, specId: string, branchName: string): Promise<boolean>;
//# sourceMappingURL=brancher.d.ts.map