/**
 * Branch list helpers
 *
 * Listing, parsing, and enriching takt branches
 * with metadata (diff stats, original instruction, task slug).
 * Used by the /list command.
 */
import { type BranchBaseResolutionCache } from './branchGitResolver.js';
import type { BranchInfo, BranchListItem } from './types.js';
export type { BranchInfo, BranchListItem };
/**
 * Manages takt branch listing and metadata enrichment.
 */
export declare class BranchManager {
    /** Detect the default branch name (main or master) */
    detectDefaultBranch(cwd: string): string;
    /** List all takt branches (local + remote) */
    listTaktBranches(projectDir: string): BranchInfo[];
    /** Parse `git branch --list` formatted output into BranchInfo entries */
    static parseTaktBranches(output: string): BranchInfo[];
    /** Get the number of files changed between a branch and its inferred base commit */
    getFilesChanged(cwd: string, defaultBranch: string, branch: string, worktreePath?: string, baseCommit?: string | null, cache?: BranchBaseResolutionCache): number;
    /** Extract a human-readable task slug from a takt branch name */
    static extractTaskSlug(branch: string): string;
    /**
     * Extract the original task instruction from the first commit message on a branch.
     * The first commit on a takt branch has the format: "takt: {original instruction}".
     */
    getOriginalInstruction(cwd: string, defaultBranch: string, branch: string, baseCommit?: string | null, cache?: BranchBaseResolutionCache, worktreePath?: string): string;
    /** Build list items from branch list, enriching with diff stats */
    buildListItems(projectDir: string, branches: BranchInfo[], defaultBranch: string): BranchListItem[];
}
export declare function detectDefaultBranch(cwd: string): string;
export declare function listTaktBranches(projectDir: string): BranchInfo[];
export declare function parseTaktBranches(output: string): BranchInfo[];
export declare function getFilesChanged(cwd: string, defaultBranch: string, branch: string): number;
export declare function extractTaskSlug(branch: string): string;
export declare function getOriginalInstruction(cwd: string, defaultBranch: string, branch: string): string;
export declare function buildListItems(projectDir: string, branches: BranchInfo[], defaultBranch: string): BranchListItem[];
//# sourceMappingURL=branchList.d.ts.map