import { CBFileSystem } from '../node/file-system'; import { IparamDefns } from '../types/common'; /** * Validator for iparamDefns * Validates the sectioned iparams.json schema */ export declare class IparamDefnsValidator { private fileSystem; private inputsValidator; constructor(fileSystem: CBFileSystem); /** * Validates and loads the iparamDefns from a file * @param {string} path - Path to the iparams.json file * @returns {IparamDefns} The validated iparamDefns * @throws {Error} If the iparamDefns is invalid or cannot be read */ validateAndGetIparamDefnsFile(path: string): IparamDefns; /** * Validates an iparamDefns object * @param {IparamDefns} iparamDefns - The iparamDefns object to validate * @throws {Error} If the iparamDefns is invalid */ validate(iparamDefns: IparamDefns): void; /** * Validates a single section definition * @param {any} section - The section definition to validate * @param {number} index - The index of the section in the array (for error messages) * @throws {Error} If the section is invalid */ private validateSection; /** * Validates a single parameter definition * @param {any} param - The parameter definition to validate * @param {string} sectionName - Parent section name for error messages * @param {number} index - The index of the parameter in the section (for error messages) * @throws {Error} If the parameter is invalid */ private validateParameter; private requireNonEmptyStringField; private rejectUnknownKeys; private validateSectionName; private validateParamName; private validateType; private validateOptions; private validateDefaultValue; }