import { Tree, TreeListParentNode, TreeState } from '@stoplight/tree-list'; import { JsonPath, Optional } from '@stoplight/types'; import { JSONSchema4 } from 'json-schema'; import { ViewMode } from '../types'; import { WalkerRefResolver } from './utils/populateTree'; export declare type SchemaTreeRefInfo = { source: string | null; pointer: string | null; }; export declare type SchemaTreeRefDereferenceFn = (ref: SchemaTreeRefInfo, propertyPath: JsonPath | null, schema: JSONSchema4) => Optional; export declare type SchemaTreePopulateHandler = (tree: SchemaTree, node: TreeListParentNode) => void; export declare type SchemaTreeOptions = { expandedDepth: number; mergeAllOf: boolean; resolveRef: Optional; shouldResolveEagerly: boolean; onPopulate: Optional; viewMode?: ViewMode; }; export { TreeState as SchemaTreeState }; export declare class SchemaTree extends Tree { schema: JSONSchema4; state: TreeState; treeOptions: SchemaTreeOptions; constructor(schema: JSONSchema4, state: TreeState, opts: SchemaTreeOptions); protected readonly visited: WeakSet; populate(): void; populateTreeFragment(parent: TreeListParentNode, schema: JSONSchema4, path: JsonPath, stepIn: boolean): void; protected insertErrorNode(parent: TreeListParentNode, error: string): void; protected stepIn(root: TreeListParentNode, parent: TreeListParentNode): import("@stoplight/tree-list").TreeListNode[]; unwrap(node: TreeListParentNode): void; protected resolveRef: WalkerRefResolver; protected populateRefFragment(node: TreeListParentNode, path: JsonPath, $ref: string | null): void; }