import type { IValidationResult, IZoneResult, IStandardsConfiguration, IProjectInfo, IProcessZoneOptions } from '../types/index.js';
import type { IReportGenerationResult } from '../types/reporter.type.js';
import type { Logger } from '../utils/logger';
export declare function loadAndLogConfig(configLoader: any, options: any, logger: Logger): Promise<IStandardsConfiguration>;
export declare function analyzeProject(projectAnalyzer: any, config: IStandardsConfiguration, logger: Logger, options: any): Promise<IProjectInfo>;
export declare function getChangedFiles(fileScanner: any, logger: Logger, config?: any): Promise<string[]>;
export declare function returnEarly(startTime: number): IValidationResult;
export declare function createSummary(zoneResults: IZoneResult[], totalFiles: number, totalErrors: number, totalWarnings: number, startTime: number): IValidationResult;
export declare function generateReport(reporter: any, logger: Logger, zoneResults: IZoneResult[], projectInfo: IProjectInfo, config: IStandardsConfiguration): Promise<IReportGenerationResult>;
export interface IZoneSummary {
    errorsByZone: Record<string, number>;
    warningsByZone: Record<string, number>;
    infosByZone?: Record<string, number>;
}
export declare function logSummary(logger: Logger, summary: IValidationResult['summary'], totalFiles: number, totalErrors: number, totalWarnings: number, zoneSummary?: IZoneSummary): void;
export declare function filterChangedFiles(files: any[], changedFiles: string[], rootDir: string): any[];
export declare function processZone({ zone, config, changedFiles, hasOnlyZone, options, rootDir, logger, fileScanner, ruleEngine, projectInfo, }: IProcessZoneOptions): Promise<IZoneResult>;
//# sourceMappingURL=general.helper.d.ts.map