export class OptionGroup extends OptionAbstract {
    /**
     *
     * @type {Array<OptionGroup|Option>}
     */
    children: Array<OptionGroup | Option>;
    /**
     *
     * @param {string[]} path
     * @returns {OptionGroup|Option}
     * @throws when path could not be resolved
     */
    resolve(path: string[]): OptionGroup | Option;
    /**
     *
     * @param {Option|OptionGroup} el
     * @returns {boolean}
     */
    addChild(el: Option | OptionGroup): boolean;
    /**
     *
     * @param {string} id
     * @returns {undefined|OptionGroup|Option}
     */
    getChildById(id: string): undefined | OptionGroup | Option;
    /**
     *
     * @param id
     * @param read
     * @param write
     * @param settings
     * @returns {OptionGroup}
     */
    add(id: any, read: any, write: any, settings: any): OptionGroup;
    /**
     *
     * @param id
     * @returns {OptionGroup}
     */
    addGroup(id: any): OptionGroup;
    toJSON(): {};
    fromJSON(json: any): void;
    /**
     *
     * @param {function(Option)} visitor
     * @param {*} [thisArg]
     */
    traverseOptions(visitor: (arg0: Option) => any, thisArg?: any): void;
    /**
     *
     * @param {string} path
     * @param {Storage} storage
     * @returns {Promise}
     */
    attachToStorage(path: string, storage: Storage): Promise<any>;
    /**
     * @readonly
     * @type {boolean}
     */
    readonly isOptionGroup: boolean;
}
import { OptionAbstract } from "./OptionAbstract.js";
import { Option } from "./Option.js";
//# sourceMappingURL=OptionGroup.d.ts.map