import { JSONSchema } from "../../model/jsonSchema"; import { ASTNode, IApplicableSchema } from "./ast-node"; import { IProblem } from "./validation-result"; export declare class JSONDocument { readonly uri: string; readonly root: ASTNode; readonly syntaxErrors: IProblem[]; constructor(uri: string, root: ASTNode, syntaxErrors: IProblem[]); getNodeFromOffset(offset: number): ASTNode; getNodeFromOffsetEndInclusive(offset: number): ASTNode; visit(visitor: (node: ASTNode) => boolean): void; validate(schema: JSONSchema): IProblem[]; getMatchingSchemas(schema: JSONSchema, focusOffset?: number, exclude?: ASTNode): IApplicableSchema[]; getValidationProblems(schema: JSONSchema, focusOffset?: number, exclude?: ASTNode): IProblem[]; }