import { TJS } from '../common'; import { SchemaDefinition } from './SchemaDefinition'; export declare type SchemaOptions = TJS.PartialArgs & TJS.CompilerOptions & { files: string | string[]; basePath?: string; }; export declare class Schema { static compile(args: SchemaOptions): Schema; readonly basePath: string | undefined; readonly files: string[]; private _program; private _generator; private constructor(); forType(type: string | string[], options?: { includeReffedDefinitions?: boolean; }): SchemaDefinition; static validator(schema: object | string): Promise<(data?: object | undefined) => boolean | PromiseLike>; static validate(schema: object, data?: object): Promise; }