export declare function isProtectedBranch(branch: string): boolean;
export declare function getCurrentBranch(): string | null;
export declare function remoteBranchExists(remote: string, branch: string): boolean;
export declare function stashChanges(): boolean;
export declare function fetchAndCheckout(remote: string, baseBranch: string): boolean;
export declare function fetchAndCheckoutBranch(remote: string, branch: string): boolean;
export declare function createBranch(branch: string, expectedBase?: string): boolean;
/**
 * Creates a new branch based on the latest remote base branch.
 * Stashes any local changes, fetches the remote, then branches directly
 * from the remote tracking ref (e.g. origin/main) — avoiding the need
 * to checkout or sync the local base branch.
 */
export declare function createBranchFromRemote(remote: string, baseBranch: string, branch: string): boolean;
export declare function hasChanges(): boolean;
/**
 * Returns true if the current branch has commits ahead of the remote base branch.
 */
export declare function hasCommitsAhead(remote: string, baseBranch: string): boolean;
export declare function addAll(): boolean;
export declare function commit(message: string, expectedBranch?: string): boolean;
export declare function push(remote: string, branch: string): boolean;
export declare function deleteBranch(branch: string): void;
/** Returns the name of the first usable remote (prefers origin). */
export declare function detectRemote(): string | null;
export interface ConflictCheckResult {
    clean: boolean;
    conflictFiles: string[];
    behindCommits: number;
}
/**
 * Checks whether the current branch can merge cleanly with the remote base
 * branch. Performs a trial merge and aborts it regardless of the outcome.
 */
export declare function checkConflictsWithBase(remote: string, baseBranch: string): ConflictCheckResult;
/**
 * Starts a real merge of the remote base branch into the current branch.
 * Returns true if the merge completed without conflicts.
 */
export declare function mergeBaseBranch(remote: string, baseBranch: string): boolean;
export declare function abortMerge(): void;
/**
 * Returns the content of files with conflict markers for AI resolution context.
 */
export declare function getConflictDetails(): string;
/** Completes a merge after conflicts have been manually resolved. */
export declare function commitMerge(message: string): boolean;
export declare function slugify(text: string): string;
//# sourceMappingURL=git.d.ts.map