import type { ComparePdfDetailedResult } from '../types/ComparePdfDetailedResult.js'; import type { ComparePdfOptions } from '../types/ComparePdfOptions.js'; /** Sink for CLI output, injected so the orchestration is testable without touching the process. */ export type CliIo = { stdout: (text: string) => void; stderr: (text: string) => void; }; /** Dependencies injected into {@link runCli} (process I/O, version, and the comparison function). */ export type CliDeps = { io: CliIo; version: string; compare: (actualPdf: string, expectedPdf: string, options: ComparePdfOptions) => Promise; }; /** * Runs the CLI and resolves to a process exit code: * - `0` success (PDFs equal, or differences found without `--fail-on-diff`), * - `1` differences found with `--fail-on-diff`, * - `2` usage error (bad arguments) or a runtime/comparison error. * * All output goes through the injected {@link CliIo}; no `process` access happens here. */ export declare function runCli(argv: readonly string[], deps: CliDeps): Promise;