import { MappedCliOptionDefinition } from '../options/option-models'; /** * Validates option metadata defined in the modules and commands within the execution path */ export declare class OptionsValidator { /** * Creates a new instance */ constructor(); /** * Validates option metadata for consistency and duplications, raising errors where inconsistencies are detected * @param definitions All option metadata for the execution path with the associated class containers */ validate(definitions: MappedCliOptionDefinition[]): void; private validateAlias; /** * Ensures that no options container class as two options with the name and or alias * @param definitions All option metadata for the execution path with the associated class containers */ private hasNoDuplicatesPerClass; /** * Ensures that the alias of one option does not conflict with the name of another, and vice-versa * @param definitions Option metadata for the execution path with the associated class containers */ private duplicatesAreConsistent; /** * Ensures that in cases where two or more classes have options with the same or alias, there is sufficient overlap between the defintions so that * both options would be parsed in the same manner * @param definitions All option metadata for the execution path with the associated class containers * @param property1Name Display name for an error message on the first property * @param property1 Returns the first property * @param property2Name Display name for an error message on the alternate property * @param property2 Returns the alternate property */ private checkForInconsistentDuplicates; }