type CabidelaOptions = { applyDefaults?: boolean; useMerge?: boolean; errorMessages?: boolean; fullErrors?: boolean; subSchemas?: Array; }; type SchemaNavigation = { path: Array; schema: any; payload: any; evaluatedProperties: Set; carryProperties?: boolean; deferredApplyDefaults?: boolean; absorvErrors?: boolean; errors: Set; defaultsCallbacks: Array; }; declare class Cabidela { private schema; private options; private definitions; constructor(schema: any, options?: CabidelaOptions); setSchema(schema: any): void; addSchema(subSchema: any, combine?: boolean): void; getSchema(): any; setOptions(options: CabidelaOptions): void; throw(message: string, needle: SchemaNavigation): void; parseAdditionalProperties(needle: SchemaNavigation, contextAdditionalProperties: any, contextEvaluatedProperties: Set): number; parseObject(needle: SchemaNavigation): boolean; parseList(list: any, needle: SchemaNavigation, breakCondition?: Function): number; parseSubSchema(needle: SchemaNavigation): number; validate(payload: any): boolean; } export { Cabidela, type CabidelaOptions, type SchemaNavigation };