import { Effect } from "effect"; import type { ExitCode } from "../core/models.js"; import type { CLIOptions } from "../core/types/index.js"; /** * Orchestrates the linter run and returns ExitCode as value (no process.exit). * * CHANGE: Use Effect.gen for main orchestration with typed error handling * WHY: Compose Effect-based linters with Effect for provable error handling * QUOTE(ТЗ): "Effect-TS для всех эффектов" * REF: Architecture plan - Effect-based APP composition * * @param cliOptions - Parsed CLI options * @returns Effect * * @pure false (coordinates effects), but does not terminate the process * @effect Effect - errors are handled internally * @invariant ExitCode ∈ {0,1} * @postcondition (hasLintErrors ∨ hasDuplicates) → 1 else 0 * @complexity O(n + m) where n=files, m=diagnostics */ export declare function runLinter(cliOptions: CLIOptions): Effect.Effect; /** * Main entry point for the application. * * CHANGE: Parse CLI args and delegate to runLinter * WHY: Separation of concerns - CLI parsing vs linter orchestration * QUOTE(ТЗ): "Effect-TS для всех эффектов" * REF: Architecture plan - Effect-based APP composition * * @returns Effect * @pure false (coordinates effects) * @complexity O(1) - orchestration only */ export declare function main(): Effect.Effect; //# sourceMappingURL=runLinter.d.ts.map