export declare const DOC_ERROR_CODES: readonly ['SCHEMA_NOT_OBJECT', 'SCHEMA_UNSUPPORTED_KEYWORD', 'SCHEMA_INVALID_KEYWORD_VALUE', 'SCHEMA_UNKNOWN_TYPE', 'SCHEMA_NOT_JSON', 'SCHEMA_TOO_LARGE', 'SCHEMA_TOO_DEEP', 'SCHEMA_REF_INVALID', 'SCHEMA_REF_ESCAPE', 'SCHEMA_REF_UNREADABLE', 'SCHEMA_REF_NOT_JSON', 'CHECK_NOT_LIST', 'CHECK_NEEDS_TYPE', 'CHECK_UNKNOWN_TYPE', 'CHECK_UNKNOWN_PARAM', 'CHECK_BAD_PARAM', 'CONTRACT_NOT_OBJECT', 'CONTRACT_UNKNOWN_FIELD', 'CONTRACT_INVALID_FIELD', 'CANONICAL_UNSUPPORTED_VALUE']; export type DocErrorCode = (typeof DOC_ERROR_CODES)[number]; export declare const VALUE_PROBLEM_CODES: readonly ['VALUE_NOT_JSON', 'VALUE_TYPE', 'VALUE_ENUM', 'VALUE_CONST', 'VALUE_TOO_SHORT', 'VALUE_TOO_LONG', 'VALUE_BELOW_MINIMUM', 'VALUE_ABOVE_MAXIMUM', 'VALUE_TOO_FEW_ITEMS', 'VALUE_TOO_MANY_ITEMS', 'VALUE_REQUIRED', 'VALUE_NOT_ALLOWED']; export type ValueProblemCode = (typeof VALUE_PROBLEM_CODES)[number]; /** One reason a schema, check list or contract is refused. */ export interface DocProblem { code: DocErrorCode; /** Where it was found: `$.properties.a.pattern`, `checks[1]`, `contract.max_bytes`. */ path: string; message: string; /** What to do about it, when there is something to say. */ remedy?: string; } /** One way a value fails a schema (a document body that does not conform, not a bad schema). */ export interface ValueProblem { code: ValueProblemCode; path: string; message: string; } export declare const problemText: (p: { path: string; message: string; remedy?: string; }) => string; export declare class DocError extends Error { readonly code: DocErrorCode; readonly problems: DocProblem[]; constructor(problems: DocProblem[]); } export declare function throwIfProblems(problems: DocProblem[]): void; //# sourceMappingURL=errors.d.ts.map