import * as $dara from '@darabonba/typescript';
export declare class CreatePrefixListRequestEntry extends $dara.Model {
    /**
     * @remarks
     * The CIDR block in entry N. Valid values of N: 0 to 200. Notes:
     *
     * *   The total number of entries cannot exceed the `MaxEntries` value.
     * *   CIDR block types are determined by the IP address family. You cannot combine IPv4 and IPv6 CIDR blocks in a single prefix list.
     * *   CIDR blocks must be unique across all entries in a prefix list. For example, you cannot specify 192.168.1.0/24 twice in the entries of the prefix list.
     * *   You can set a single IP address. The system automatically converts the IP address to a CIDR block. For example, if you set 192.168.1.100, the system automatically converts it to 192.168.1.100/32.
     * *   If you use an IPv6 CIDR block, the system automatically converts the CIDR block to zero and the letters to lowercase. For example, if you specify 2001:0DB8:0000:0000:0000:0000:0000:0000/32, the system converts it to 2001:db8::/32.
     *
     * For more information about CIDR blocks, see [What is CIDR?](~~185311#598efe6ef1v00~~)
     *
     * This parameter is left empty by default.
     *
     * This parameter is required.
     *
     * @example
     * 192.168.1.0/24
     */
    cidr?: string;
    /**
     * @remarks
     * The description in entry N. The description must be 2 to 32 characters in length and cannot start with `http://` or `https://`. Valid values of N: 0 to 200.
     *
     * @example
     * Description Sample 01
     */
    description?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreatePrefixListRequestTag extends $dara.Model {
    /**
     * @remarks
     * The key of tag N. Valid values of N: 1 to 20. The tag key cannot be an empty string. The tag key can be up to 128 characters in length and cannot start with `acs:` or `aliyun`. It cannot contain `http://` or `https://`.
     *
     * @example
     * TestKey
     */
    key?: string;
    /**
     * @remarks
     * The value of tag N. Valid values of N: 1 to 20. The tag value can be an empty string.
     *
     * The tag value can be up to 128 characters in length and cannot contain`  http:// or https:// `.
     *
     * @example
     * TestValue
     */
    value?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class CreatePrefixListRequest extends $dara.Model {
    /**
     * @remarks
     * The IP address family. Valid values:
     *
     * *   IPv4
     * *   IPv6
     *
     * This parameter is required.
     *
     * @example
     * IPv4
     */
    addressFamily?: string;
    /**
     * @remarks
     * The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The `token` can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](https://help.aliyun.com/document_detail/25693.html).
     *
     * @example
     * 0c593ea1-3bea-11e9-b96b-88e9fe637760
     */
    clientToken?: string;
    /**
     * @remarks
     * The description of the prefix list. The description must be 2 to 256 characters in length and cannot start with `http://` or `https://`.
     *
     * @example
     * This is description.
     */
    description?: string;
    /**
     * @remarks
     * The details of entries in the prefix list.
     */
    entry?: CreatePrefixListRequestEntry[];
    /**
     * @remarks
     * The maximum number of entries that the prefix list can contain. Valid values: 1 to 200.
     *
     * This parameter is required.
     *
     * @example
     * 10
     */
    maxEntries?: number;
    ownerAccount?: string;
    ownerId?: number;
    /**
     * @remarks
     * The name of the prefix list. The name must be 2 to 128 characters in length, and can contain letters, digits, colons (:), underscores (_), periods (.), and hyphens (-). It must start with a letter and cannot start with `http://`, `https://`, `com.aliyun`, or `com.alibabacloud`.
     *
     * This parameter is required.
     *
     * @example
     * PrefixListNameSample
     */
    prefixListName?: string;
    /**
     * @remarks
     * The ID of the region in which to create the prefix list.
     *
     * This parameter is required.
     *
     * @example
     * cn-chengdu
     */
    regionId?: string;
    /**
     * @remarks
     * The ID of the resource group to which to assign the prefix list.
     *
     * @example
     * rg-bp67acfmxazb4p****
     */
    resourceGroupId?: string;
    resourceOwnerAccount?: string;
    resourceOwnerId?: number;
    /**
     * @remarks
     * The tags to add to the prefix list.
     */
    tag?: CreatePrefixListRequestTag[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
