import { execFile as execFileCb } from 'node:child_process';
import type { GitConfig, GitFlowType } from '../../types/index.js';
export declare const execFile: typeof execFileCb.__promisify__;
/** Default branch prefixes by spec type. */
export declare const DEFAULT_BRANCH_PREFIXES: Record<string, string>;
/** Default protected branches. */
export declare const DEFAULT_PROTECTED_BRANCHES: string[];
/** Default staleness threshold (commits behind). */
export declare const DEFAULT_STALENESS_THRESHOLD = 50;
/** Execute a git command in the project directory. */
export declare function git(projectPath: string, args: string[]): Promise<{
    stdout: string;
    stderr: string;
}>;
/** Resolve the project path from project knowledge. */
export declare function resolveProjectPath(projectId: string): Promise<string>;
/** Generate a slug from a spec title. */
export declare function slugify(title: string): string;
/** Get merged git config with defaults. */
export declare function mergeConfig(config?: GitConfig): GitConfig;
/** Resolve base branch (develop → main → master → ''). */
export declare function resolveBaseBranch(projectPath: string, preferred?: string): Promise<string>;
/** Count commits that current branch is behind a base branch. */
export declare function countCommitsBehind(projectPath: string, baseBranch: string): Promise<number>;
/** Detect git flow type by inspecting branches. */
export declare function detectGitFlowType(projectPath: string): Promise<GitFlowType>;
//# sourceMappingURL=git-helpers.d.ts.map