index.d.ts
 1  declare function traverse(
 2    schema: traverse.SchemaObject,
 3    opts: traverse.Options,
 4    cb?: traverse.Callback
 5  ): void;
 6  
 7  declare function traverse(
 8    schema: traverse.SchemaObject,
 9    cb: traverse.Callback
10  ): void;
11  
12  declare namespace traverse {
13    interface SchemaObject {
14      $id?: string;
15      $schema?: string;
16      [x: string]: any;
17    }
18  
19    type Callback = (
20      schema: SchemaObject,
21      jsonPtr: string,
22      rootSchema: SchemaObject,
23      parentJsonPtr?: string,
24      parentKeyword?: string,
25      parentSchema?: SchemaObject,
26      keyIndex?: string | number
27    ) => void;
28  
29    interface Options {
30      allKeys?: boolean;
31      cb?:
32        | Callback
33        | {
34            pre?: Callback;
35            post?: Callback;
36          };
37    }
38  }
39  
40  export = traverse;