import { SecurityRequirement } from '../../../../models/common/SecurityRequirement';
import { ValidationRuleMetaData } from '../../../ValidationRuleMetaData';
import { Oas20Scopes } from '../../../../../openapi/v2/models/Oas20Scopes';
import { OasInvalidPropertyValueRule } from './OasInvalidPropertyValueRule';
/**
 * Constructor.
 * @param {ValidationRuleMetaData} ruleInfo
 * @class
 * @extends OasInvalidPropertyValueRule
 * @author eric.wittmann@gmail.com
 */
export declare class OasUnexpectedSecurityRequirementScopesRule extends OasInvalidPropertyValueRule {
    constructor(ruleInfo: ValidationRuleMetaData);
    /**
     * Returns true if the given required scopes are all actually defined by the security definition.
     * @param {string[]} requiredScopes
     * @param {Oas20Scopes} definedScopes
     * @return {boolean}
     */
    isValidScopes(requiredScopes: Array<string>, definedScopes: Oas20Scopes): boolean;
    /**
     * @see io.apicurio.datamodels.combined.visitors.CombinedAllNodeVisitor#visitSecurityRequirement(io.apicurio.datamodels.core.models.common.SecurityRequirement)
     * @param {SecurityRequirement} node
     */
    visitSecurityRequirement(node: SecurityRequirement): void;
}
