export type DocsIdentity = Readonly<{ docsBundleVersion: string; stepContractVersion: number; contractHash: string; }>; export type ContractCapabilities = Readonly; export type ContractCompatibilityInput = { apiUrl: string; cliVersion: string; docsIdentity: DocsIdentity; fetchImpl: typeof fetch; timeoutMs: number; warn: (message: string) => void; }; export declare const CONTRACT_COMPATIBILITY_ERROR_CODES: readonly ["FG-CLI-COMPAT-001", "FG-CLI-COMPAT-002", "FG-CLI-COMPAT-003"]; export type ContractCompatibilityErrorCode = (typeof CONTRACT_COMPATIBILITY_ERROR_CODES)[number]; export declare class ContractCompatibilityError extends Error { readonly code: ContractCompatibilityErrorCode; constructor(code: ContractCompatibilityErrorCode, message: string); } export declare const isStrictSemVer: (value: unknown) => value is string; export declare const compareSemVer: (left: string, right: string) => -1 | 0 | 1 | null; export declare const parseContractCapabilities: (value: unknown) => ContractCapabilities | null; export declare const deriveContractHealthUrl: (apiUrl: string) => string | null; export declare const createContractCompatibilityChecker: () => (input: ContractCompatibilityInput) => Promise; export declare const checkContractCompatibility: (input: ContractCompatibilityInput) => Promise;