import type { ExecOptions } from 'node:child_process'; type ExecAsyncOptions = ExecOptions; export declare function readStdin(timeoutMs?: number): Promise; export declare function findProjectRoot(startDir?: string): Promise; export interface PackageManager { name: 'npm' | 'yarn' | 'pnpm'; exec: string; run: string; test: string; } export declare function detectPackageManager(dir: string): Promise; export interface ExecResult { stdout: string; stderr: string; exitCode: number; timedOut?: boolean; signal?: string | null; killed?: boolean; durationMs?: number; } export declare function getExecOptions(options?: ExecAsyncOptions, command?: string): ExecAsyncOptions; export declare function execCommand(command: string, args?: string[], options?: { cwd?: string; timeout?: number; }): Promise; export declare function formatError(title: string, details: string, instructions: string[]): string; export declare function checkToolAvailable(tool: string, configFile: string, projectRoot: string): Promise; export declare function executeCommand(command: string, cwd?: string): Promise<{ stdout: string; stderr: string; }>; export declare function fileExists(filePath: string): Promise; export declare function readJsonFile(filePath: string): Promise; export declare function writeJsonFile(filePath: string, data: unknown): Promise; export declare function findFiles(pattern: string, directory: string): Promise; export declare function getFileModTime(filePath: string): Promise; export declare function ensureDirectory(dirPath: string): Promise; export declare function parseStdinPayload(): Promise; export declare function extractFilePaths(payload: unknown): string[]; export declare function formatDuration(ms: number): string; export declare function formatTypeScriptErrors(result: ExecResult, command?: string): string; export declare function formatESLintErrors(result: ExecResult): string; export declare function formatBiomeErrors(result: ExecResult): string; export declare function formatTestErrors(result: ExecResult): string; export interface ExtensionConfigurable { extensions?: string[] | undefined; } export declare function createExtensionPattern(extensions: string[]): RegExp; export declare function shouldProcessFileByExtension(filePath: string | undefined, config: ExtensionConfigurable, defaultExtensions?: string[]): boolean; export {}; //# sourceMappingURL=utils.d.ts.map