import type { RepomixConfigMerged } from '../../config/configSchema.js'; export declare const GIT_LOG_RECORD_SEPARATOR = "\0"; export declare const GIT_LOG_FORMAT_SEPARATOR = "%x00"; export interface GitLogCommit { date: string; message: string; files: string[]; } export interface GitLogResult { logContent: string; commits: GitLogCommit[]; } export declare const getGitLog: (directory: string, maxCommits: number, deps?: { execGitLog: (directory: string, maxCommits: number, gitSeparator: string, deps?: { execFileAsync: typeof import("child_process").execFile.__promisify__; }) => Promise; isGitRepository: (directory: string, deps?: { execGitRevParse: (directory: string, deps?: { execFileAsync: typeof import("child_process").execFile.__promisify__; }) => Promise; }) => Promise; }) => Promise; export declare const getGitLogs: (rootDirs: string[], config: RepomixConfigMerged, deps?: { getGitLog: (directory: string, maxCommits: number, deps?: { execGitLog: (directory: string, maxCommits: number, gitSeparator: string, deps?: { execFileAsync: typeof import("child_process").execFile.__promisify__; }) => Promise; isGitRepository: (directory: string, deps?: { execGitRevParse: (directory: string, deps?: { execFileAsync: typeof import("child_process").execFile.__promisify__; }) => Promise; }) => Promise; }) => Promise; }) => Promise;