/**
 * Admin API
 * The Admin API is used to manage the ApeCloud platform.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: support@apecloud.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { ConfigSpecOption } from './config-spec-option';
import type { InitOptionObject } from './init-option-object';
import type { ParameterOptionRef } from './parameter-option-ref';
import type { ParameterTemplate } from './parameter-template';
/**
 *
 * @export
 * @interface ParameterOption
 */
export interface ParameterOption {
    /**
     * component type
     * @type {string}
     * @memberof ParameterOption
     */
    'component': string;
    /**
     *
     * @type {ParameterOptionRef}
     * @memberof ParameterOption
     */
    'referenceEngine'?: ParameterOptionRef;
    /**
     * If set to true, the current parameters of the component can be exported and saved as a parameter template.
     * @type {boolean}
     * @memberof ParameterOption
     */
    'exportTpl'?: boolean;
    /**
     * If set to true, the parameter templates of the component can be used. Mainly used by frontend.
     * @type {boolean}
     * @memberof ParameterOption
     */
    'enableTemplate'?: boolean;
    /**
     * If set to true, the component can display the raw content of the parameter configuration file.
     * @type {boolean}
     * @memberof ParameterOption
     */
    'enableRawContent'?: boolean;
    /**
     * all parameter configuration specs of this component
     * @type {Array<ConfigSpecOption>}
     * @memberof ParameterOption
     */
    'configSpecs'?: Array<ConfigSpecOption>;
    /**
     *
     * @type {boolean}
     * @memberof ParameterOption
     */
    'disableHA'?: boolean;
    /**
     * parameter templates, including default parameter templates for different major versions or default parameter templates for different purposes.
     * @type {Array<ParameterTemplate>}
     * @memberof ParameterOption
     */
    'templates'?: Array<ParameterTemplate>;
    /**
     * Parameters to be initialized when cluster is created
     * @type {{ [key: string]: InitOptionObject; }}
     * @memberof ParameterOption
     */
    'initOptions'?: {
        [key: string]: InitOptionObject;
    };
}
//# sourceMappingURL=parameter-option.d.ts.map