import { IDefinition } from '../../../../models/common/IDefinition';
import { ValidationRule } from '../../../ValidationRule';
import { ValidationRuleMetaData } from '../../../ValidationRuleMetaData';
import { IOasPropertySchema } from '../../../../../openapi/models/IOasPropertySchema';
import { OasSchema } from '../../../../../openapi/models/OasSchema';
/**
 * Constructor.
 * @param {ValidationRuleMetaData} ruleInfo
 * @class
 * @extends ValidationRule
 * @author eric.wittmann@gmail.com
 */
export declare abstract class OasInvalidPropertyTypeValidationRule extends ValidationRule {
    static ALLOWED_TYPES: string[];
    static ALLOWED_TYPES_$LI$(): string[];
    constructor(ruleInfo: ValidationRuleMetaData);
    /**
     * Returns true if the type node has a valid type.
     * @param {string} type
     * @return {boolean} {boolean}
     */
    isValidType(type: string): boolean;
    /**
     *
     * @param {OasSchema} node
     */
    visitAllOfSchema(node: OasSchema): void;
    /**
     *
     * @param {Oas30Schema.Oas30AnyOfSchema} node
     */
    visitAnyOfSchema(node: Oas30Schema.Oas30AnyOfSchema): void;
    /**
     *
     * @param {Oas30Schema.Oas30OneOfSchema} node
     */
    visitOneOfSchema(node: Oas30Schema.Oas30OneOfSchema): void;
    /**
     *
     * @param {Oas30Schema.Oas30NotSchema} node
     */
    visitNotSchema(node: Oas30Schema.Oas30NotSchema): void;
    /**
     *
     * @param {*} node
     */
    visitPropertySchema(node: IOasPropertySchema): void;
    /**
     *
     * @param {OasSchema} node
     */
    visitItemsSchema(node: OasSchema): void;
    /**
     *
     * @param {OasSchema} node
     */
    visitAdditionalPropertiesSchema(node: OasSchema): void;
    /**
     *
     * @param {*} node
     */
    visitSchemaDefinition(node: IDefinition): void;
}
import { Oas30Schema } from '../../../../../openapi/v3/models/Oas30Schema';
