import * as $dara from '@darabonba/typescript';
export declare class DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayAccessMode extends $dara.Model {
    modeValue?: string;
    tunnelType?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayForwardTableIds extends $dara.Model {
    forwardTableId?: string[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayFullNatTableIds extends $dara.Model {
    fullNatTableId?: string[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayIpListsIpList extends $dara.Model {
    allocationId?: string;
    ipAddress?: string;
    privateIpAddress?: string;
    snatEntryEnabled?: boolean;
    usingStatus?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayIpLists extends $dara.Model {
    ipList?: DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayIpListsIpList[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayIpPrefixListIpPrefixList extends $dara.Model {
    ipPrefix?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayIpPrefixList extends $dara.Model {
    ipPrefixList?: DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayIpPrefixListIpPrefixList[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayNatGatewayPrivateInfo extends $dara.Model {
    eniInstanceId?: string;
    eniType?: string;
    izNo?: string;
    maxBandwidth?: number;
    maxSessionEstablishRate?: number;
    maxSessionQuota?: number;
    privateIpAddress?: string;
    vswitchId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeNatGatewaysResponseBodyNatGatewaysNatGatewaySnatTableIds extends $dara.Model {
    snatTableId?: string[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayTagsTag extends $dara.Model {
    tagKey?: string;
    tagValue?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayTags extends $dara.Model {
    tag?: DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayTagsTag[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeNatGatewaysResponseBodyNatGatewaysNatGateway extends $dara.Model {
    accessMode?: DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayAccessMode;
    autoPay?: boolean;
    businessStatus?: string;
    creationTime?: string;
    deletionProtection?: boolean;
    description?: string;
    ecsMetricEnabled?: boolean;
    /**
     * @example
     * MULTI_BINDED
     */
    eipBindMode?: string;
    enableSessionLog?: string;
    expiredTime?: string;
    forwardTableIds?: DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayForwardTableIds;
    fullNatTableIds?: DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayFullNatTableIds;
    icmpReplyEnabled?: boolean;
    instanceChargeType?: string;
    internetChargeType?: string;
    ipLists?: DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayIpLists;
    ipPrefixList?: DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayIpPrefixList;
    name?: string;
    natGatewayId?: string;
    natGatewayPrivateInfo?: DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayNatGatewayPrivateInfo;
    natType?: string;
    networkType?: string;
    privateLinkEnabled?: boolean;
    privateLinkMode?: string;
    regionId?: string;
    resourceGroupId?: string;
    securityProtectionEnabled?: boolean;
    snatTableIds?: DescribeNatGatewaysResponseBodyNatGatewaysNatGatewaySnatTableIds;
    spec?: string;
    status?: string;
    tags?: DescribeNatGatewaysResponseBodyNatGatewaysNatGatewayTags;
    vpcId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeNatGatewaysResponseBodyNatGateways extends $dara.Model {
    natGateway?: DescribeNatGatewaysResponseBodyNatGatewaysNatGateway[];
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeNatGatewaysResponseBody extends $dara.Model {
    natGateways?: DescribeNatGatewaysResponseBodyNatGateways;
    /**
     * @remarks
     * The page number of the returned page.
     *
     * @example
     * 10
     */
    pageNumber?: number;
    /**
     * @remarks
     * The number of entries returned per page.
     *
     * @example
     * 10
     */
    pageSize?: number;
    /**
     * @remarks
     * The ID of the request.
     *
     * @example
     * 4EC47282-1B74-4534-BD0E-403F3EE64CAF
     */
    requestId?: string;
    /**
     * @remarks
     * The number of NAT gateway entries that are returned.
     *
     * @example
     * 1
     */
    totalCount?: number;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
