import type { ContractErrorResponses, ContractMeta, ContractResponses } from "./types.js";
/**
 * Extract catalog error definitions declared in contract metadata.
 */
export declare function catalogErrorsFromMeta(metadata: ContractMeta): ContractErrorResponses;
/**
 * Convert catalog error definitions into standard envelope response schemas.
 */
export declare function responsesFromErrors(errors: ContractErrorResponses): ContractResponses;
/**
 * Merge catalog errors already declared in metadata with new declarations.
 *
 * Later declarations win when the same catalog key is declared twice.
 */
export declare function mergeCatalogErrors(metadata: ContractMeta, errorDefs: ContractErrorResponses): ContractErrorResponses;
/**
 * Reject `.errors()` statuses that collide with custom response schemas.
 *
 * Statuses declared by earlier `.errors()` calls are allowed: catalog errors
 * share the standard error envelope, so multiple codes can map to one status.
 */
export declare function assertErrorsAvoidCustomResponseStatuses(metadata: ContractMeta, responses: ContractResponses, nextErrorResponses: ContractResponses): void;
/**
 * Reject `.responses()` statuses already declared by catalog errors.
 */
export declare function assertResponsesAvoidCatalogErrorStatuses(metadata: ContractMeta, next: ContractResponses): void;
//# sourceMappingURL=catalog-errors.d.ts.map