export type FunnelValidationExitCode = 0 | 1 | 2; export type FunnelValidationDiagnostic = { code: string; severity: 'error'; file: string | null; stepId: string | null; expected?: unknown; received?: unknown; reason: string; guide: string; repair: string; }; export type FunnelValidationResult = { schemaVersion: 1; contractVersion: number; valid: boolean; diagnostics: readonly FunnelValidationDiagnostic[]; warnings?: readonly string[]; exitCode: FunnelValidationExitCode; }; export type ValidationOutputInput = { command: string; result: FunnelValidationResult; }; export type FunnelValidationOutput = { schemaVersion: 1; command: string; contractVersion: number; valid: boolean; diagnostics: readonly FunnelValidationDiagnostic[]; warnings?: readonly string[]; exitCode: FunnelValidationExitCode; }; export type ValidationDiagnosticInput = Omit & { file?: string | null; stepId?: string | null; expected: unknown; received: unknown; }; export declare const createValidationDiagnostic: (input: ValidationDiagnosticInput) => FunnelValidationDiagnostic; export declare const isValidationDiagnostic: (value: unknown) => value is FunnelValidationDiagnostic; export declare const buildValidationOutput: (input: ValidationOutputInput) => FunnelValidationOutput; export declare const renderValidationJson: (input: ValidationOutputInput) => string; export declare const renderValidationHuman: (input: ValidationOutputInput) => string;