import { FilePosition } from "@azure-tools/openapi-tools-common"; import { JsonLoader } from "../swagger/jsonLoader"; import { SwaggerLoaderOption } from "../swagger/swaggerLoader"; import { BaseValidationError } from "../util/baseValidationError"; import { SemanticValidationErrorCode } from "../util/errorDefinitions"; import { ValidationResultSource } from "../util/validationResultSource"; import { LiveValidatorLoader } from "../liveValidation/liveValidatorLoader"; import { FileLoader } from "../swagger/fileLoader"; import { SuppressionLoader } from "../swagger/suppressionLoader"; import { SchemaValidator, SchemaValidatorOption } from "./schemaValidator"; export interface SemanticErrorDetail { inner?: any; message: string; code: SemanticValidationErrorCode; position?: FilePosition; url?: string; jsonPath?: string; } export interface SemanticValidationError extends BaseValidationError { source?: ValidationResultSource; path?: string; readonly inner?: any; readonly "json-path"?: string; } export interface SemanticValidationOption extends SwaggerLoaderOption, SchemaValidatorOption { } export declare class SwaggerSemanticValidator { private jsonLoader; private fileLoader; private suppressionLoader; private liveValidatorLoader; private schemaValidator; private validateSwaggerSch; constructor(_opts: SemanticValidationOption, jsonLoader: JsonLoader, fileLoader: FileLoader, suppressionLoader: SuppressionLoader, liveValidatorLoader: LiveValidatorLoader, schemaValidator: SchemaValidator); initialize(): Promise; validateSwaggerSpec(swaggerFilePath: string): Promise; private validateSwaggerSpecPipeline; private loadSwagger; private validateSwaggerSchema; private addErrorsFromSchemaValidation; private addErrorsFromErrorCode; private validateCompile; private validateDiscriminator; private validateDefaultValue; private validateSchemaRequiredProperties; private validateOperation; } export declare class SemanticValidator { specPath: string; validator: SwaggerSemanticValidator; specValidationResult: { validateSpec?: { isValid?: boolean; error?: unknown; warning?: unknown; result?: unknown; errors?: SemanticErrorDetail[]; warnings?: unknown; }; resolveSpec?: undefined; validityStatus: boolean; operations: any; initialize?: unknown; }; constructor(specPath: string, specInJson?: any); initialize(): Promise; validateSpec(): Promise<{ errors: SemanticErrorDetail[]; warnings: never[]; }>; } //# sourceMappingURL=semanticValidator.d.ts.map