import type { GitRevision, Parser } from '../types.js';
export declare const getIsHistoryDirty: () => Promise<boolean>;
export declare const checkoutTo: (revision: string) => Promise<void>;
export declare const getCurrentBranch: () => Promise<string>;
export declare const execWalkCommand: (command: string) => Promise<string>;
export declare const getRevList: (command: string, parser: Parser, limit?: number) => Promise<GitRevision[]>;
type OnCommitChange<IteratorResult> = ({ rev, index, previousResult, }: {
    rev: GitRevision;
    index: number | null;
    previousResult: WalkIteratorResult<IteratorResult> | null;
}) => Promise<IteratorResult>;
export type WalkIteratorResult<IteratorResult> = {
    rev: GitRevision;
    results: IteratorResult | null;
};
export declare const walkCommits: <FinalResult, IteratorResult>(revList: GitRevision[], { onCommitChange, onError, onEnd, }: {
    onCommitChange: OnCommitChange<IteratorResult>;
    onEnd: (result: FinalResult) => Promise<FinalResult>;
    onError: (error: string) => void;
}) => Promise<FinalResult | null>;
export declare const getChangedFilesSinceRev: (rev: string, commonAncestor: boolean) => Promise<{
    status: string;
    filePath: string;
}[]>;
export {};
