import type { AnalyzeInput, JsonObject, DiffStatFile } from './types.js';
export declare const BINARY_CHECK_BYTES = 8192;
export declare const MAX_SCAN_FILES = 500;
export declare const MAX_SCAN_MS = 5000;
export declare const ANALYZE_SUMMARY_SAMPLE_LIMIT = 5;
export declare function isBinary(filePath: string): Promise<boolean>;
export declare function collectTextFiles(dirPath: string, limit?: number, deadline?: number): Promise<string[]>;
export declare function escapeRegex(s: string): string;
export declare function validatePath(inputPath: string, root: string): string | {
    error: string;
};
export declare function readTextFile(filePath: string): Promise<string | null>;
export declare function collectInputFiles(inputFiles: string[] | undefined, projectRoot: string, options?: {
    expandDirectories?: boolean;
    limit?: number;
    deadline?: number;
}): Promise<string[]>;
export declare function sampleArray<T>(value: unknown, limit?: number): T[];
export declare function summarizeAnalyzeResult(mode: AnalyzeInput['mode'], result: Record<string, unknown>): Record<string, unknown>;
export declare function applyAnalyzeTokenBudget(output: string, maxTokens: number | undefined): string;
export declare function readJsonFile<T extends JsonObject = JsonObject>(filePath: string): Promise<T | null>;
export declare function resolveScanRoot(input: AnalyzeInput, projectRoot: string): string;
export declare function collectExistingPaths(projectRoot: string, names: string[]): string[];
export declare function loadDependencyVersions(pkgJson: JsonObject): Record<string, string>;
export declare function parseDiffStats(statOutput: string): DiffStatFile[];
export declare function findEntryPoint(targetDir: string, candidates: string[]): string | null;
export declare function validateGitRefs(before: string, after: string): {
    error: string;
    before: string;
    after: string;
} | null;
export declare function truncateDiffAtBoundary(diff: string, maxChars: number): string;
export declare function parseSemver(version: string): [number, number, number];
export declare function isBreakingUpgrade(current: string, latest: string): boolean;
export declare function parseEnvKeys(content: string): Set<string>;
export declare function testCandidates(sourceFile: string, projectRoot: string): string[];
//# sourceMappingURL=shared.d.ts.map