import { Oas30ValidationRule } from "./common.rule"; import { Oas30Discriminator } from "../../models/3.0/discriminator.model"; import { Oas30ExternalDocumentation } from "../../models/3.0/external-documentation.model"; import { Oas30AuthorizationCodeOAuthFlow, Oas30ClientCredentialsOAuthFlow, Oas30ImplicitOAuthFlow, Oas30PasswordOAuthFlow } from "../../models/3.0/oauth-flow.model"; import { Oas30Info } from "../../models/3.0/info.model"; import { Oas30License } from "../../models/3.0/license.model"; import { Oas30Operation } from "../../models/3.0/operation.model"; import { Oas30Parameter, Oas30ParameterDefinition } from "../../models/3.0/parameter.model"; import { Oas30Document } from "../../models/3.0/document.model"; import { Oas30RequestBody, Oas30RequestBodyDefinition } from "../../models/3.0/request-body.model"; import { Oas30Server } from "../../models/3.0/server.model"; import { Oas30Tag } from "../../models/3.0/tag.model"; import { Oas30SecurityScheme } from "../../models/3.0/security-scheme.model"; import { Oas30ServerVariable } from "../../models/3.0/server-variable.model"; /** * Implements the required property validation rule. Various model properties are either * required or conditionally required. For example, the "swagger" property MUST exist * on the root (document) node. This rule checks for all required and conditionally * required properties on all model types. */ export declare class Oas30RequiredPropertyValidationRule extends Oas30ValidationRule { /** * Called when a required property is missing. * @param code * @param node * @param propertyName */ private requireProperty(code, node, propertyName); /** * Called when a conditionally required property is missing. * @param node * @param propertyName * @param dependentProperty * @param dependentValue */ private requirePropertyWhen(code, node, propertyName, dependentProperty, dependentValue); visitDiscriminator(node: Oas30Discriminator): void; visitExternalDocumentation(node: Oas30ExternalDocumentation): void; private visitOAuthFlow(node); visitImplicitOAuthFlow(node: Oas30ImplicitOAuthFlow): void; visitPasswordOAuthFlow(node: Oas30PasswordOAuthFlow): void; visitClientCredentialsOAuthFlow(node: Oas30ClientCredentialsOAuthFlow): void; visitAuthorizationCodeOAuthFlow(node: Oas30AuthorizationCodeOAuthFlow): void; visitInfo(node: Oas30Info): void; visitLicense(node: Oas30License): void; visitOperation(node: Oas30Operation): void; visitParameter(node: Oas30Parameter): void; visitParameterDefinition(node: Oas30ParameterDefinition): void; visitDocument(node: Oas30Document): void; visitRequestBody(node: Oas30RequestBody): void; visitRequestBodyDefinition(node: Oas30RequestBodyDefinition): void; visitServer(node: Oas30Server): void; visitSecurityScheme(node: Oas30SecurityScheme): void; visitServerVariable(node: Oas30ServerVariable): void; visitTag(node: Oas30Tag): void; }