import * as spec from '@jsii/spec'; import * as ts from 'typescript'; import { Emitter } from './emitter'; import { JsiiDiagnostic } from './jsii-diagnostic'; import { ProjectInfo } from './project-info'; export interface ValidationResult extends ts.EmitResult { readonly usedFeatures?: spec.JsiiFeature[]; } export declare class Validator implements Emitter { readonly projectInfo: ProjectInfo; readonly assembly: spec.Assembly; static VALIDATIONS: ValidationFunction[]; constructor(projectInfo: ProjectInfo, assembly: spec.Assembly); emit(): ValidationResult; } export type DiagnosticEmitter = (diag: JsiiDiagnostic) => void; export type FeatureTracker = (feat: spec.JsiiFeature) => void; export type ValidationFunction = (validator: Validator, assembly: spec.Assembly, diagnostic: DiagnosticEmitter, useFeatures: FeatureTracker) => void; //# sourceMappingURL=validator.d.ts.map