import * as $dara from '@darabonba/typescript';
export declare class DescribeCloudVendorProductTemplateConfigResponseBody extends $dara.Model {
    /**
     * @remarks
     * Template configuration. This parameter is a JSON structure that includes the following fields: - **vendors**: A collection of vendor template configuration information. - **vendorType**: Vendor code, **CHAITIN** takes the value **100**, **FORTINET** takes the value **101**, and **THREATBOOK** takes the value **102**. - **vendor**: Vendor. Takes the values **CHAITIN**, **FORTINET**, or **THREATBOOK**. - **displayName**: Display name. Takes the values **Chaitin**, **Fortinet**, or **Threatbook**. - **products**: A list of template configuration information. This parameter is a JSON structure that includes the following fields: - **product**: Product code. When **vendor** is **CHAITIN**, it takes the value **webFirewall**; when **vendor** is **FORTINET**, it takes the value **fortigate**; when **vendor** is **THREATBOOK**, it takes the value **threatIntelligence**. - **displayName**: Product display name. When **vendor** is **CHAITIN**, it takes the value **WAF**; when **vendor** is **FORTINET**, it takes the value **FortiGate Firewall**; when **vendor** is **THREATBOOK**, it takes the value **Threat Intelligence API**. - **description**: Link to the technical support document for the product. - **backendConfig**: A list of API field mapping rules. This parameter is a JSON structure that includes the following fields: - **apiParams**: API field mapping rules. This parameter is a Map structure where the key is the backend field mapping key. The value is a JSON structure that includes the following fields: - **field**: Property key. - **format**: Type of the property value, which can be **text** or **json**. - **fields**: Fields that need to be filled in the template. This parameter is a JSON structure that includes the following fields: - **displayName**: Field display name. - **editable**: Whether the field is editable. Takes the values **true** or **false**. **true** means editable, **false** means not editable. - **fieldType**: Type of the field value. Takes the values **text** or **password**. - **required**: Whether the field is required. Takes the values **true** or **false**. **true** means required, **false** means not required. - **fieldId**: Field key.
     *
     * @example
     * {\\"vendors\\":[{\\"vendorType\\":100,\\"vendor\\":\\"CHAITIN\\",\\"displayName\\":\\"Chaitin\\",\\"products\\":[{\\"product\\":\\"webFirewall\\",\\"displayName\\":\\"WAF\\",\\"backendConfig\\":{\\"apiParams\\":{\\"SecretKey\\":{\\"field\\":\\"apiToken\\",\\"format\\":\\"text\\"},\\"SecretId\\":{\\"field\\":\\"endpoint\\",\\"format\\":\\"text\\"},\\"Vendor\\":{\\"field\\":\\"vendor\\",\\"format\\":\\"text\\"},\\"CtdrCloudUserId\\":{\\"field\\":\\"ctdrCloudUserId\\",\\"format\\":\\"text\\"},\\"ExtendInfo\\":{\\"format\\":\\"json\\",\\"fields\\":[\\"product\\",\\"remark\\"]}}},\\"description\\":\\"https://docs.waf-ce.chaitin.cn/%E6%9B%B4%E5%A4%9A%E6%8A%80%E6%9C%AF%E6%96%87%E6%A1%A3/OPENAPI\\",\\"fields\\":[{\\"displayName\\":\\"Endpoint\\",\\"fieldType\\":\\"text\\",\\"prompt\\":\\"Enter an endpoint that is in the IP address:Port number format.\\",\\"required\\":true,\\"fieldId\\":\\"endpoint\\"},{\\"displayName\\":\\"API Token\\",\\"fieldType\\":\\"password\\",\\"required\\":true,\\"fieldId\\":\\"apiToken\\"},{\\"displayName\\":\\"‌Device Name‌ (The cloud_user_id field in the device connection logs will uniquely identify the device)\\",\\"fieldType\\":\\"text\\",\\"required\\":true,\\"fieldId\\":\\"ctdrCloudUserId\\"},{\\"displayName\\":\\"Remark\\",\\"fieldType\\":\\"text\\",\\"required\\":false,\\"fieldId\\":\\"remark\\"}]}]}]}
     */
    data?: string;
    /**
     * @remarks
     * The ID of this call request, which is a unique identifier generated by Alibaba Cloud for this request, and can be used to troubleshoot and locate issues.
     *
     * @example
     * CD380235-A0B8-540D-A0D5-D6288446****
     */
    requestId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
