import type { CleanseDiagnostic } from "./types.js"; /** Machine and fallback output formats understood by cleanse. */ export declare const CLEANSE_PARSER_KINDS: readonly ["rust", "rust-test", "go", "go-test", "staticcheck", "golangci", "ruff", "pyright", "mypy", "pylint", "flake8", "ty", "eslint", "biome", "oxlint", "deno-lint", "stylelint", "rubocop", "phpstan", "psalm", "swiftlint", "dart", "credo", "shellcheck", "hlint", "terraform", "tflint", "actionlint", "generic"]; /** One machine or fallback output format understood by cleanse. */ export type CleanseParserKind = (typeof CLEANSE_PARSER_KINDS)[number]; /** Captured checker process output passed to a format parser. */ export interface CleanseParserInput { checker: string; projectCwd: string; checkerCwd: string; stdout: string; stderr: string; } /** Parse one checker invocation into normalized, project-relative diagnostics. */ export declare function parseCleanseDiagnostics(kind: CleanseParserKind, input: CleanseParserInput): CleanseDiagnostic[]; /** * Incremental parser for output of a checker that is still running. * * Each {@link push} takes the text appended to stdout/stderr since the previous call and * parses only the output completed since then, cut where the format parses independently: * at line ends, and for JSON streams only between documents. The diagnostics yielded across * calls match re-parsing the whole completed prefix each time; callers dedupe across calls. */ export declare class CleanseStreamParser { #private; constructor(kind: CleanseParserKind, context: Omit); /** Feed newly produced output; returns diagnostics parsed from newly completed segments. */ push(stdout: string, stderr: string): CleanseDiagnostic[]; }