interface SchemaObject { $id?: string; $schema?: string; [key: string]: any; } export interface CallbackArgs { schema: SchemaObject; jsonPtr: string; rootSchema: SchemaObject; parentJsonPtr?: string; parentKeyword?: string; parentSchema?: SchemaObject; keyIndex?: string | number; } export type Callback = (args: CallbackArgs) => void; export interface Options { allKeys?: boolean; } export declare class JSONSchemaTraverser { static KEYWORDS: { additionalItems: boolean; items: boolean; contains: boolean; additionalProperties: boolean; propertyNames: boolean; not: boolean; if: boolean; then: boolean; else: boolean; }; static ARRAY_KEYWORDS: { items: boolean; allOf: boolean; anyOf: boolean; oneOf: boolean; }; static PROPS_KEYWORDS: { $defs: boolean; definitions: boolean; properties: boolean; patternProperties: boolean; dependencies: boolean; }; static SKIP_KEYWORDS: { default: boolean; enum: boolean; const: boolean; required: boolean; maximum: boolean; minimum: boolean; exclusiveMaximum: boolean; exclusiveMinimum: boolean; multipleOf: boolean; maxLength: boolean; minLength: boolean; pattern: boolean; format: boolean; maxItems: boolean; minItems: boolean; uniqueItems: boolean; maxProperties: boolean; minProperties: boolean; }; static traverse(schema: SchemaObject, cb: Callback, opts?: Options): void; private static recursiveTraverse; private static escapeJsonPtr; } export {};