import "cac"; import { ignorePatternsAIAgents, ignorePatternsBuildOutputs, ignorePatternsCaches, ignorePatternsCommon, ignorePatternsEslintDefaults, ignorePatternsGenerated } from "@alint-js/config"; import { AlintConfig, AlintConfigItem, Diagnostic, RunResult, RunnerConfig, defineConfig } from "@alint-js/core"; //#region src/cli/types.d.ts interface CliIo { cwd: string; env?: NodeJS.ProcessEnv; stderr: CliWritable; stdin?: CliReadable; stdout: CliWritable; } /** * A readable stream plus the TTY flag that the interactive commands read. * * `StreamMessageReader` in `vscode-jsonrpc` requires a full `NodeJS.ReadableStream`, so a narrower * structural type does not compile. `PassThrough` satisfies it, which is how the protocol tests * supply an in-memory stream. */ interface CliReadable extends NodeJS.ReadableStream { isTTY?: boolean; } interface CliWritable { columns?: number; isTTY?: boolean; rows?: number; write: (chunk: string) => unknown; } //#endregion //#region src/cli/cli.d.ts declare function executeCli(argv: string[], io: CliIo): Promise; //#endregion //#region src/cli/reporters/index.d.ts interface FormatDiagnosticsOptions { color?: boolean; } type ReporterName = 'json' | 'stylish'; declare function formatDiagnostics(format: ReporterName, result: RunResult, options?: FormatDiagnosticsOptions): string; //#endregion //#region src/cli/reporters/json.d.ts declare function formatJson(result: RunResult): string; //#endregion //#region src/cli/reporters/stylish.d.ts interface StylishReporterOptions { color?: boolean; } declare function formatStylish(input: Diagnostic[] | RunResult, options?: StylishReporterOptions): string; //#endregion export { type AlintConfig, type AlintConfigItem, type CliIo, type ReporterName, type RunnerConfig, defineConfig, executeCli, formatDiagnostics, formatJson, formatStylish, ignorePatternsAIAgents, ignorePatternsBuildOutputs, ignorePatternsCaches, ignorePatternsCommon, ignorePatternsEslintDefaults, ignorePatternsGenerated };