import * as $dara from '@darabonba/typescript';
export declare class DescribeNatGatewaysRequestTag extends $dara.Model {
    /**
     * @remarks
     * The tag keys of the NAT gateway. You can specify up to 20 tag keys.
     *
     * Each tag key cannot exceed 64 characters in length, and cannot start with `aliyun` or `acs:`. It cannot contain `http://` or `https://`.
     *
     * @example
     * KeyTest
     */
    key?: string;
    /**
     * @remarks
     * The tag values of the NAT gateway. You can specify up to 20 tag values.
     *
     * The tag value cannot exceed 128 characters in length, and cannot start with `aliyun` or `acs:`. The value cannot contain `http://` or `https://`.
     *
     * @example
     * valueTest
     */
    value?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeNatGatewaysRequest extends $dara.Model {
    /**
     * @remarks
     * Specifies whether to perform a dry run. Valid values:
     *
     * - **true**: performs a dry run. The system prechecks whether your AccessKey pair is valid, whether the RAM user is authorized, and whether the required parameters are specified. If the request fails the dry run, an error message is returned. If the request passes the dry run, the `DryRunOperation` error code is returned.
     * - **false** (default): performs a dry run and sends the request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.
     *
     * @example
     * false
     */
    dryRun?: boolean;
    /**
     * @remarks
     * The billing method of the NAT gateway. Set the value to **PostPaid**, which specifies the pay-as-you-go billing method.
     *
     * @example
     * PostPaid
     */
    instanceChargeType?: string;
    /**
     * @remarks
     * The name of the NAT gateway.
     *
     * The name must be 1 to 128 characters in length, and cannot start with `http://` or `https://`.
     *
     * If this parameter is not set, the system automatically assigns a name to the NAT gateway.
     *
     * @example
     * test
     */
    name?: string;
    /**
     * @remarks
     * The ID of the NAT gateway.
     *
     * @example
     * ngw-bp1uewa15k4iy5770****
     */
    natGatewayId?: string;
    /**
     * @remarks
     * The type of NAT gateway. Set the value to **Enhanced** (enhanced NAT gateway).
     *
     * @example
     * Enhanced
     */
    natType?: string;
    /**
     * @remarks
     * The type of the NAT gateway. Valid values:
     *
     * *   **internet**: an Internet NAT gateway
     * *   **intranet**: a VPC NAT gateway
     *
     * @example
     * internet
     */
    networkType?: string;
    ownerAccount?: string;
    ownerId?: number;
    /**
     * @remarks
     * The page number. Default value: **1**.
     *
     * @example
     * 10
     */
    pageNumber?: number;
    /**
     * @remarks
     * The number of entries per page. Maximum value: **50**. Default value: **10**.
     *
     * @example
     * 1
     */
    pageSize?: number;
    /**
     * @remarks
     * The region ID of the NAT gateways that you want to query.
     *
     * You can call the [DescribeRegions](https://help.aliyun.com/document_detail/36063.html) operation to query the most recent region list.
     *
     * This parameter is required.
     *
     * @example
     * cn-hangzhou
     */
    regionId?: string;
    /**
     * @remarks
     * The ID of the resource group to which the NAT gateway belongs.
     *
     * @example
     * rg-bp67acfmxazb4ph****
     */
    resourceGroupId?: string;
    resourceOwnerAccount?: string;
    resourceOwnerId?: number;
    /**
     * @remarks
     * The size of the NAT gateway. Ignore this parameter.
     *
     * @example
     * Invalid parameter.
     */
    spec?: string;
    /**
     * @remarks
     * The status of the NAT gateway. Valid values:
     *
     * *   **Creating**: After you send a request to create a NAT gateway, the system creates the NAT gateway in the background. The NAT gateway remains in the **Creating** state until the operation is completed.
     * *   **Available**: The NAT gateway remains in a stable state after the NAT gateway is created.
     * *   **Modifying**: After you send a request to modify a NAT gateway, the system modifies the NAT gateway in the background. The NAT gateway remains in the **Modifying** state until the operation is completed.
     * *   **Deleting**: After you send a request to delete a NAT gateway, the system deletes the NAT gateway in the background. The NAT gateway remains in the **Deleting** state until the operation is completed.
     * *   **Converting**: After you send a request to upgrade a standard NAT gateway to an enhanced NAT gateway, the system upgrades the NAT gateway in the background. The NAT gateway remains in the **Converting** state until the operation is completed.
     *
     * @example
     * Available
     */
    status?: string;
    /**
     * @remarks
     * The tags.
     */
    tag?: DescribeNatGatewaysRequestTag[];
    /**
     * @remarks
     * The ID of the VPC to which the NAT gateway belongs.
     *
     * @example
     * vpc-bp15zckdt37pq72z****
     */
    vpcId?: string;
    /**
     * @remarks
     * The ID of the zone to which the NAT gateway belongs.
     *
     * @example
     * cn-hangzhou-b
     */
    zoneId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
