import { type DeferrableFunnelContractDiagnosticCode } from '../steps/step-contract.js'; export declare const FUNNEL_CONTRACT_DIAGNOSTIC_CODES: readonly ["FG-VERSION-001", "FG-VERSION-002", "FG-STEP-001", "FG-STEP-002", "FG-STEP-104", "FG-RESERVED-001", "FG-RESERVED-002", "FG-PARITY-001", "FG-REGISTRY-001", "FG-CONTENT-001", "FG-FLOW-001", "FG-FLOW-002", "FG-CHOICE-001", "FG-CHOICE-002", "FG-CHOICE-006", "FG-ANALYTICS-001", "FG-ANALYTICS-002", "FG-ANALYTICS-003", "FG-DOC-001", "FG-DOC-002", "FG-CLIENT-001", "FG-CANDIDATE-001"]; export type FunnelContractDiagnosticCode = (typeof FUNNEL_CONTRACT_DIAGNOSTIC_CODES)[number]; export declare const FUNNEL_CONTRACT_DIAGNOSTIC_SUMMARIES: Readonly<{ 'FG-VERSION-001': string; 'FG-VERSION-002': string; 'FG-STEP-001': string; 'FG-STEP-002': string; 'FG-STEP-104': string; 'FG-RESERVED-001': string; 'FG-RESERVED-002': string; 'FG-PARITY-001': string; 'FG-REGISTRY-001': string; 'FG-CONTENT-001': string; 'FG-FLOW-001': string; 'FG-FLOW-002': string; 'FG-CHOICE-001': string; 'FG-CHOICE-002': string; 'FG-CHOICE-006': string; 'FG-ANALYTICS-001': string; 'FG-ANALYTICS-002': string; 'FG-ANALYTICS-003': string; 'FG-DOC-001': string; 'FG-DOC-002': string; 'FG-CLIENT-001': string; 'FG-CANDIDATE-001': string; }>; type FunnelContractDiagnosticDetails = { file: string | null; stepId: string | null; expected: unknown; received: unknown; reason: string; guide: string; repair: string; }; export type FunnelContractErrorDiagnostic = FunnelContractDiagnosticDetails & { code: FunnelContractDiagnosticCode; severity: 'error'; }; export type FunnelContractDiagnostic = FunnelContractErrorDiagnostic; export type FunnelContractDiagnosticInput = Omit & { code: FunnelContractDiagnosticCode; file?: string | null; stepId?: string | null; }; export declare const isDeferrableFunnelContractDiagnosticCode: (code: FunnelContractDiagnosticCode) => code is DeferrableFunnelContractDiagnosticCode; export declare const createFunnelContractDiagnostic: (input: FunnelContractDiagnosticInput) => FunnelContractDiagnostic; export {};