import * as $dara from '@darabonba/typescript';
export declare class RevokeSecurityGroupEgressRequestPermissions extends $dara.Model {
    /**
     * @remarks
     * The description of the security group rule. The description must be 1 to 512 characters in length.
     *
     * @example
     * This is description.
     */
    description?: string;
    /**
     * @remarks
     * The destination IPv4 CIDR block of the security group rule. IPv4 CIDR blocks and IPv4 addresses are supported.
     *
     * @example
     * 10.0.0.0/8
     */
    destCidrIp?: string;
    /**
     * @remarks
     * The ID of the destination security group of the security group rule.
     *
     * *   You must specify at least one of the following parameters: `DestGroupId`, `DestCidrIp`, `Ipv6DestCidrIp`, and `DestPrefixListId`.
     * *   If you specify `DestGroupId` but do not specify `DestCidrIp`, you must set `NicType` to intranet.
     * *   If you specify both `DestGroupId` and `DestCidrIp`, `DestCidrIp` takes precedence.
     *
     * Take note of the following items:
     *
     * *   Advanced security groups do not support security group rules that reference security groups as authorization objects.
     * *   Each basic security group can contain up to 20 security group rules that reference security groups as authorization objects.
     *
     * @example
     * sg-bp67acfmxa123b****
     */
    destGroupId?: string;
    /**
     * @remarks
     * The Alibaba Cloud account that manages the destination security group specified in the security group rule.
     *
     * *   If you leave `DestGroupOwnerAccount` and `DestGroupOwnerId` empty, access control configurations are removed from another security group managed by your Alibaba Cloud account.
     * *   If you specify `DestCidrIp`, `DestGroupOwnerAccount` is invalid.
     *
     * @example
     * Test@aliyun.com
     */
    destGroupOwnerAccount?: string;
    /**
     * @remarks
     * The ID of the Alibaba Cloud account that manages the destination security group specified in the security group rule.
     *
     * *   If you leave `DestGroupOwnerId` and `DestGroupOwnerAccount` empty, access control configurations are removed from another security group managed by your Alibaba Cloud account.
     * *   If you specify `DestCidrIp`, `DestGroupOwnerId` is invalid.
     *
     * @example
     * 12345678910
     */
    destGroupOwnerId?: string;
    /**
     * @remarks
     * The ID of the destination prefix list of the security group rule. You can call the [DescribePrefixLists](https://help.aliyun.com/document_detail/205046.html) operation to query the IDs of available prefix lists.
     *
     * Take note of the following items:
     *
     * *   If a security group resides in the classic network, you cannot reference prefix lists in the rules of the security group. For information about the limits on security groups and prefix lists, see the [Security group limits](~~25412#SecurityGroupQuota1~~) section of the "Limits and quotas" topic.
     * *   If you specify `DestCidrIp`, `Ipv6DestCidrIp`, or `DestGroupId`, this parameter is ignored.
     *
     * @example
     * pl-x1j1k5ykzqlixdcy****
     */
    destPrefixListId?: string;
    /**
     * @remarks
     * The protocol type. The values of this parameter are case-insensitive. Valid values:
     *
     * *   TCP.
     * *   UDP.
     * *   ICMP.
     * *   ICMPv6.
     * *   GRE.
     * *   ALL: All protocols are supported.
     *
     * @example
     * TCP
     */
    ipProtocol?: string;
    /**
     * @remarks
     * The destination IPv6 CIDR block of the security group rule. IPv6 CIDR blocks and IPv6 addresses are supported.
     *
     * >  This parameter is valid only for Elastic Compute Service (ECS) instances that reside in virtual private clouds (VPCs) and support IPv6 CIDR blocks. You cannot specify both this parameter and `DestCidrIp` in the same request.
     *
     * @example
     * 2001:db8:1233:1a00::***
     */
    ipv6DestCidrIp?: string;
    /**
     * @remarks
     * The source IPv6 CIDR block of the security group rule. IPv6 CIDR blocks and IPv6 addresses are supported.
     *
     * This parameter is used to support quintuple rules. For more information, see [Security group quintuple rules](https://help.aliyun.com/document_detail/97439.html).
     *
     * >  This parameter is valid only for ECS instances that reside in VPCs and support IPv6 CIDR blocks. You cannot specify both this parameter and `DestCidrIp` in the same request.
     *
     * @example
     * 2001:db8:1234:1a00::***
     */
    ipv6SourceCidrIp?: string;
    /**
     * @remarks
     * The network interface controller (NIC) type of the security group rule if the security group resides in the classic network. Valid values:
     *
     * *   internet: public NIC.
     * *   intranet: internal NIC.
     *
     * If the security group resides in a VPC, this parameter is set to intranet by default and cannot be modified.
     *
     * If you specify `DestGroupId` to delete outbound security group rules that reference the specified security group as an authorization object, you must set this parameter to intranet.
     *
     * Default value: internet.
     *
     * @example
     * intranet
     */
    nicType?: string;
    /**
     * @remarks
     * The action of the security group rule. Valid values:
     *
     * *   accept: allows access.
     * *   drop: denies access and returns no responses. In this case, the request times out or the connection cannot be established.
     *
     * Default value: accept.
     *
     * @example
     * accept
     */
    policy?: string;
    /**
     * @remarks
     * The destination port range of the security group rule. Valid values:
     *
     * *   If you set IpProtocol to TCP or UDP, the valid values of this parameter are 1 to 65535. Specify a port range in the format of \\<Start port number>/\\<End port number>. Example: 1/200.
     * *   If you set IpProtocol to ICMP, the port range is -1/-1.
     * *   If you set IpProtocol to GRE, the port range is -1/-1.
     * *   If you set IpProtocol to ALL, the port range is -1/-1.
     *
     * @example
     * 22/22
     */
    portRange?: string;
    /**
     * @remarks
     * The ID of the port list. You can call the `DescribePortRangeLists` operation to query the IDs of available prefix lists.
     *
     * *   If you specify `Permissions.N.PortRange`, this parameter is ignored.
     * *   If a security group resides in the classic network, you cannot reference port lists in the rules of the security group. For information about the limits on security groups and port lists, see the [Security group limits](~~25412#SecurityGroupQuota1~~) section of the "Limits and quotas" topic.
     *
     * @example
     * prl-2ze9743****
     */
    portRangeListId?: string;
    /**
     * @remarks
     * The priority of the security group rule. A smaller value specifies a higher priority. Valid values: 1 to 100.
     *
     * Default value: 1.
     *
     * @example
     * 1
     */
    priority?: string;
    /**
     * @remarks
     * The source IPv4 CIDR block of the security group rule. IPv4 CIDR blocks and IPv4 addresses are supported.
     *
     * This parameter is used to support quintuple rules. For more information, see [Security group quintuple rules](https://help.aliyun.com/document_detail/97439.html).
     *
     * @example
     * 10.0.0.0/8
     */
    sourceCidrIp?: string;
    /**
     * @remarks
     * The source port range of the security group rule. Valid values:
     *
     * *   If you set IpProtocol to TCP or UDP, the valid values of this parameter are 1 to 65535. Specify a port range in the format of \\<Start port number>/\\<End port number>. Example: 1/200.
     * *   If you set IpProtocol to ICMP, the port range is -1/-1.
     * *   If you set IpProtocol to GRE, the port range is -1/-1.
     * *   If you set IpProtocol to ALL, the port range is -1/-1.
     *
     * This parameter is used to support quintuple rules. For more information, see [Security group quintuple rules](https://help.aliyun.com/document_detail/97439.html).
     *
     * @example
     * 22/22
     */
    sourcePortRange?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class RevokeSecurityGroupEgressRequest extends $dara.Model {
    /**
     * @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
     * 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E
     */
    clientToken?: string;
    /**
     * @remarks
     * This parameter is deprecated. Use `Permissions.N.Description` to specify the rule description.
     *
     * @example
     * This is description.
     *
     * @deprecated
     */
    description?: string;
    /**
     * @remarks
     * This parameter is deprecated. Use `Permissions.N.DestCidrIp` to specify the destination IPv4 CIDR block.
     *
     * @example
     * 10.0.0.0/8
     *
     * @deprecated
     */
    destCidrIp?: string;
    /**
     * @remarks
     * This parameter is deprecated. Use `Permissions.N.DestGroupId` to specify the ID of the destination security group.
     *
     * @example
     * sg-bp67acfmxa123b****
     *
     * @deprecated
     */
    destGroupId?: string;
    /**
     * @remarks
     * This parameter is deprecated. Use `Permissions.N.DestGroupOwnerAccount` to specify the Alibaba Cloud account that manages the destination security group.
     *
     * @example
     * Test@aliyun.com
     *
     * @deprecated
     */
    destGroupOwnerAccount?: string;
    /**
     * @remarks
     * This parameter is deprecated. Use `Permissions.N.DestGroupOwnerId` to specify the ID of the Alibaba Cloud account that manages the destination security group.
     *
     * @example
     * 12345678910
     *
     * @deprecated
     */
    destGroupOwnerId?: number;
    /**
     * @remarks
     * This parameter is deprecated. Use `Permissions.N.DestPrefixListId` to specify the ID of the destination prefix list.
     *
     * @example
     * pl-x1j1k5ykzqlixdcy****
     *
     * @deprecated
     */
    destPrefixListId?: string;
    /**
     * @remarks
     * This parameter is deprecated. Use `Permissions.N.IpProtocol` to specify the protocol.
     *
     * @example
     * TCP
     *
     * @deprecated
     */
    ipProtocol?: string;
    /**
     * @remarks
     * This parameter is deprecated. Use `Permissions.N.Ipv6DestCidrIp` to specify the destination IPv6 CIDR block.
     *
     * @example
     * 2001:db8:1233:1a00::***
     *
     * @deprecated
     */
    ipv6DestCidrIp?: string;
    /**
     * @remarks
     * This parameter is deprecated. Use `Permissions.N.Ipv6SourceCidrIp` to specify the source IPv6 CIDR block.
     *
     * @example
     * 2001:db8:1234:1a00::***
     *
     * @deprecated
     */
    ipv6SourceCidrIp?: string;
    /**
     * @remarks
     * This parameter is deprecated. Use `Permissions.N.NicType` to specify the network interface type.
     *
     * @example
     * intranet
     *
     * @deprecated
     */
    nicType?: string;
    ownerAccount?: string;
    ownerId?: number;
    /**
     * @remarks
     * The security group rules. You can specify up to 100 security group rules.
     */
    permissions?: RevokeSecurityGroupEgressRequestPermissions[];
    /**
     * @remarks
     * This parameter is deprecated. Use `Permissions.N.Policy` to specify whether to allow outbound access.
     *
     * @example
     * accept
     *
     * @deprecated
     */
    policy?: string;
    /**
     * @remarks
     * This parameter is deprecated. Use `Permissions.N.PortRange` to specify the range of destination ports.
     *
     * @example
     * 22/22
     *
     * @deprecated
     */
    portRange?: string;
    /**
     * @remarks
     * This parameter is deprecated. Use `Permissions.N.Priority` to specify the rule priority.
     *
     * @example
     * 1
     *
     * @deprecated
     */
    priority?: string;
    /**
     * @remarks
     * The region ID of the security group. You can call the [DescribeRegions](https://help.aliyun.com/document_detail/25609.html) operation to query the most recent region list.
     *
     * This parameter is required.
     *
     * @example
     * cn-hangzhou
     */
    regionId?: string;
    resourceOwnerAccount?: string;
    resourceOwnerId?: number;
    /**
     * @remarks
     * The ID of the security group.
     *
     * This parameter is required.
     *
     * @example
     * sg-bp67acfmxazb4p****
     */
    securityGroupId?: string;
    /**
     * @remarks
     * An array of security group rule IDs. You can specify 1 to 100 security group rules.
     */
    securityGroupRuleId?: string[];
    /**
     * @remarks
     * This parameter is deprecated. Use `Permissions.N.SourceCidrIp` to specify the source IPv4 CIDR block.
     *
     * @example
     * 10.0.0.0/8
     *
     * @deprecated
     */
    sourceCidrIp?: string;
    /**
     * @remarks
     * This parameter is deprecated. Use `Permissions.N.SourcePortRange` to specify the range of source ports.
     *
     * @example
     * 22/22
     *
     * @deprecated
     */
    sourcePortRange?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
