import { type Diagnostic } from "../lint.js"; import type { ModuleRegistry } from "../modules/registry.js"; import type { OtelSink } from "../observability/otel.js"; import { type RunResult } from "../run.js"; import type { SnapshotBackend } from "../snapshot/backend.js"; type HarnessMeta = { filepath: string; kind: unknown; version: unknown; }; export type RunHarnessOptions = { modulesFor: (frontmatter: Record, meta: HarnessMeta) => ModuleRegistry; otelSink?: OtelSink; signal?: AbortSignal; snapshotBackend?: SnapshotBackend; snapshotIntervalMs?: number; snapshotPath?: string; }; export type RunHarnessExecutionErrorResult = { aborted?: true; error: unknown; ok: false; }; export type RunHarnessResult = RunResult | RunHarnessExecutionErrorResult; export declare class LintError extends Error { readonly diagnostics: readonly Diagnostic[]; constructor(diagnostics: readonly Diagnostic[]); } export declare function runHarness(filepath: string, options: RunHarnessOptions): Promise; export declare function runHarnessPair(filepath: string, options: RunHarnessOptions): Promise; export {};