import { Operation } from '../../../models/common/Operation';
import { ValidationRule } from '../../ValidationRule';
import { ValidationRuleMetaData } from '../../ValidationRuleMetaData';
import { OasParameter } from '../../../../openapi/models/OasParameter';
import { OasPathItem } from '../../../../openapi/models/OasPathItem';
/**
 * Constructor.
 * @param {ValidationRuleMetaData} ruleInfo
 * @class
 * @extends ValidationRule
 * @author eric.wittmann@gmail.com
 */
export declare class OasParameterUniquenessValidationRule extends ValidationRule {
    constructor(ruleInfo: ValidationRuleMetaData);
    /**
     * Given a 'in' and a 'name' for a parameter, return the # of parameters in the list
     * of parameters that match.
     * @param {OasParameter[]} params
     * @param {string} paramName
     * @param {string} paramIn
     * @return {number}
     * @private
     */
    getParamCount(params: Array<OasParameter>, paramName: string, paramIn: string): number;
    /**
     * Validates that all parameter name and "in" combinations are unique
     * @param {OasParameter[]} params
     * @private
     */
    ensureUnique(params: Array<OasParameter>): void;
    /**
     * @see io.apicurio.datamodels.combined.visitors.CombinedAllNodeVisitor#visitPathItem(io.apicurio.datamodels.openapi.models.OasPathItem)
     * @param {OasPathItem} node
     */
    visitPathItem(node: OasPathItem): void;
    /**
     * @see io.apicurio.datamodels.combined.visitors.CombinedAllNodeVisitor#visitOperation(io.apicurio.datamodels.core.models.common.Operation)
     * @param {Operation} node
     */
    visitOperation(node: Operation): void;
}
