import * as childProcess from "node:child_process";
export interface RunEslintBatchesConfig {
    buildCommand?: string;
    batchSize?: number;
    eslintConfigFileName?: string;
    forceRebuild?: boolean;
}
export declare function formatSpawnFailureMessage(spawnErrorMessage: string): string;
export declare function executeCommandWithCombinedOutput(command: string, options?: childProcess.SpawnSyncOptions): {
    output: string;
    status: number;
};
export declare function normalizePathForCli(filePath: string): string;
export declare function isLintableFile(filePath: string): boolean;
export declare function filterLintableFiles(filesToFilter: string[]): string[];
export declare function resolveEslintConfigForFile(filePath: string, rootDir?: string): string;
export declare function groupFilesByEslintConfig(filesToLint: string[], rootDir?: string): Map<string, string[]>;
export declare function buildEslintRulesOnce(buildCommand?: string, forceRebuild?: boolean): {
    output: string;
    status: number;
};
export declare function runEslintBatches(filesToLint: string[], options?: RunEslintBatchesConfig): {
    fullLintOutput: string;
    hasFailures: boolean;
};
