import { AnalysisContext, CommitInfo } from './types'; /** * Gets the current branch name */ export declare const getCurrentBranch: (cwd: string) => string; /** * Detects the default/main branch of the repository * Checks for common main branch names and returns the first one found */ export declare const getDefaultBranch: (cwd: string) => string; /** * Ensures the target branch is available locally for comparison * Fetches from remote if the branch doesn't exist locally (unless noFetch is true) */ export declare const ensureBranchAvailable: (branch: string, cwd: string, noFetch?: boolean, verbose?: boolean) => void; /** * Gets the list of changed files between two branches * Automatically handles remote references if local branches are not available */ export declare const getChangedFiles: (branch: string, target: string, cwd: string, verbose?: boolean) => string[]; /** * Gets the number of added and deleted lines between two branches * Automatically handles remote references if local branches are not available */ export declare const getLineChanges: (branch: string, target: string, cwd: string) => { added: number; deleted: number; }; /** * Gets commit messages between two branches * Automatically handles remote references if local branches are not available */ export declare const getCommitMessages: (branch: string, target: string, cwd: string) => string[]; /** * Gets detailed commit information between two branches * Returns commits with ID, short message, and full message */ export declare const getDetailedCommits: (branch: string, target: string, cwd: string) => CommitInfo[]; /** * Builds the complete analysis context */ export declare const buildAnalysisContext: (branch: string, target: string, cwd: string, verbose?: boolean) => AnalysisContext;