import * as $dara from '@darabonba/typescript';
export declare class DescribeSecurityGroupsRequestTag extends $dara.Model {
    /**
     * @remarks
     * The key of tag N to add to the security group. Valid values of N: 1 to 20.
     *
     * Up to 1,000 resources that match the tags specified can be returned in the response. To query more than 1,000 resources that have specified tags added, call the [ListTagResources](https://help.aliyun.com/document_detail/110425.html) operation.
     *
     * @example
     * TestKey
     */
    key?: string;
    /**
     * @remarks
     * The value of tag N to add to the security group. Valid values of N: 1 to 20.
     *
     * @example
     * TestValue
     */
    value?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
export declare class DescribeSecurityGroupsRequest extends $dara.Model {
    /**
     * @remarks
     * Specifies whether to perform only a dry run, without performing the actual request. Valid values:
     *
     * *   true: performs only a dry run. The system checks your AccessKey pair, the permissions of the RAM user, and the required parameters. If the request passes the dry run, the DryRunOperation error code is returned. Otherwise, an error message is returned.
     * *   false: performs a dry run and performs the actual request. If the request passes the dry run, a 2xx HTTP status code is returned and the operation is performed.
     *
     * Default value: false.
     *
     * @example
     * false
     */
    dryRun?: boolean;
    /**
     * @remarks
     * > This parameter is deprecated.
     *
     * @example
     * null
     */
    fuzzyQuery?: boolean;
    /**
     * @remarks
     * Specifies whether to query the capacity of the security group. If you set this parameter to True, the `EcsCount` and `AvailableInstanceAmount` values in the response are valid.
     *
     * >  This parameter is deprecated.
     *
     * @example
     * null
     */
    isQueryEcsCount?: boolean;
    /**
     * @remarks
     * The maximum number of entries per page. If you specify this parameter, both `MaxResults` and `NextToken` are used for a paged query.
     *
     * Maximum value: 100.
     *
     * Default value: 10.
     *
     * @example
     * 10
     */
    maxResults?: number;
    /**
     * @remarks
     * The network type of the security group. Valid values:
     *
     * *   vpc
     * *   classic
     *
     * @example
     * vpc
     */
    networkType?: string;
    /**
     * @remarks
     * The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken.
     *
     * @example
     * e71d8a535bd9cc11
     */
    nextToken?: string;
    ownerAccount?: string;
    ownerId?: number;
    /**
     * @remarks
     * >  This parameter will be removed in the future. We recommend that you use NextToken and MaxResults for a paged query.
     *
     * @example
     * 1
     */
    pageNumber?: number;
    /**
     * @remarks
     * >  This parameter will be removed in the future. We recommend that you use NextToken and MaxResults for a paged query.
     *
     * @example
     * 10
     */
    pageSize?: number;
    /**
     * @remarks
     * The region ID. 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;
    /**
     * @remarks
     * The ID of the resource group to which the security group belongs. If this parameter is specified to query resources, up to 1,000 resources that belong to the specified resource group can be displayed in the response. You can call the [ListResourceGroups](https://help.aliyun.com/document_detail/158855.html) operation to query the most recent resource group list.
     *
     * > Resources in the default resource group are displayed in the response regardless of how this parameter is configured.
     *
     * @example
     * rg-bp67acfmxazb4p****
     */
    resourceGroupId?: string;
    resourceOwnerAccount?: string;
    resourceOwnerId?: number;
    /**
     * @remarks
     * The security group ID.
     *
     * @example
     * sg-bp67acfmxazb4p****
     */
    securityGroupId?: string;
    /**
     * @remarks
     * The security group IDs. Set this parameter to a JSON array that consists of up to 100 security group IDs. Separate the security group IDs with commas (,).
     *
     * @example
     * ["sg-bp67acfmxazb4p****", "sg-bp67acfmxazb4p****", "sg-bp67acfmxazb4p****",....]
     */
    securityGroupIds?: string;
    /**
     * @remarks
     * The name of the security group.
     *
     * @example
     * SGTestName
     */
    securityGroupName?: string;
    /**
     * @remarks
     * The type of the security group. Valid values:
     *
     * *   normal: basic security group
     * *   enterprise: advanced security group
     *
     * > If you do not specify this parameter, both basic and advanced security groups are queried.
     *
     * @example
     * normal
     */
    securityGroupType?: string;
    /**
     * @remarks
     * Specifies whether to query managed security groups. Valid values:
     *
     * *   true
     * *   false
     *
     * @example
     * false
     *
     * **if can be null:**
     * true
     */
    serviceManaged?: boolean;
    /**
     * @remarks
     * The tags to add to the security groups.
     */
    tag?: DescribeSecurityGroupsRequestTag[];
    /**
     * @remarks
     * The ID of the virtual private cloud (VPC) to which the security group belongs.
     *
     * @example
     * vpc-bp67acfmxazb4p****
     */
    vpcId?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
