import * as $dara from '@darabonba/typescript';
export declare class DescribeCommandsRequestTag extends $dara.Model {
    /**
     * @remarks
     * The key of tag N of the command. Valid values of N: 1 to 20. The tag key cannot be an empty string.
     *
     * If a single tag is specified to query resources, up to 1,000 resources that have this tag added can be displayed in the response. If multiple tags are specified to query resources, up to 1,000 resources that have all these tags added can be displayed in the response. To query more than 1,000 resources that have specified tags, call the [ListTagResources](https://help.aliyun.com/document_detail/110425.html) operation.
     *
     * The tag key can be up to 64 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 of the command. Valid values of N: 1 to 20. The tag value can be an empty string.
     *
     * It 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 DescribeCommandsRequest extends $dara.Model {
    /**
     * @remarks
     * The ID of the command.
     *
     * @example
     * c-hz01272yr52****
     */
    commandId?: string;
    /**
     * @remarks
     * The encoding mode of the `CommandContent` and `Output` values in the response. Valid values:
     *
     * *   PlainText: returns the original command content and command output.
     * *   Base64: returns the Base64-encoded command content and command output.
     *
     * Default value: Base64.
     *
     * @example
     * PlainText
     */
    contentEncoding?: string;
    /**
     * @remarks
     * The description of the command.
     *
     * If you specify `Provider`, fuzzy search is supported by default.
     *
     * If you do not specify `Provider`, prefix-based fuzzy search is supported. For example, if you specify `test*`, all commands whose descriptions start with `test` are queried.
     *
     * @example
     * testDescription
     */
    description?: string;
    /**
     * @remarks
     * Specifies whether to query only the latest version of common commands when common commands are queried. This parameter does not affect the query for private commands.
     *
     * *   true: queries only the latest version of common commands.
     * *   false: queries all versions of common commands.
     *
     * Default value: false.
     *
     * @example
     * true
     */
    latest?: boolean;
    /**
     * @remarks
     * The maximum number of entries per page.
     *
     * Valid values: 1 to 50.
     *
     * Default value: 10.
     *
     * @example
     * 10
     */
    maxResults?: number;
    /**
     * @remarks
     * The name of the command.
     *
     * If you specify `Provider`, fuzzy search is supported by default.
     *
     * If you do not specify `Provider`, prefix-based fuzzy search is supported. For example, if you specify `command*`, all commands whose names start with `command` are queried.
     *
     * @example
     * testName
     */
    name?: 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
     * AAAAAdDWBF2
     */
    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 provider of the common command. Take note of the following items:
     *
     * *   If you do not specify this parameter, all the commands that you created are queried.
     *
     * *   If you set this parameter to `AlibabaCloud`, all the common commands provided by Alibaba Cloud are queried.
     *
     * *   If you set this parameter to a specific provider, all the common commands provided by the provider are queried. Examples:
     *
     *     *   If you set `Provider` to AlibabaCloud.ECS.GuestOS, all the common commands provided by `AlibabaCloud.ECS.GuestOS` are queried.
     *     *   If you set `Provider` to AlibabaCloud.ECS.GuestOSDiagnose, all the common commands provided by `AlibabaCloud.ECS.GuestOSDiagnose` are queried.
     *
     * @example
     * AlibabaCloud
     */
    provider?: string;
    /**
     * @remarks
     * The region ID of the command. 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 command belongs.
     *
     * @example
     * rg-123******
     */
    resourceGroupId?: string;
    resourceOwnerAccount?: string;
    resourceOwnerId?: number;
    /**
     * @remarks
     * The list of tags.
     */
    tag?: DescribeCommandsRequestTag[];
    /**
     * @remarks
     * The type of the command. Valid values:
     *
     * *   RunBatScript: batch command, applicable to Windows instances
     * *   RunPowerShellScript: PowerShell command, applicable to Windows instances
     * *   RunShellScript: shell command, applicable to Linux instances
     *
     * @example
     * RunShellScript
     */
    type?: string;
    static names(): {
        [key: string]: string;
    };
    static types(): {
        [key: string]: any;
    };
    validate(): void;
    constructor(map?: {
        [key: string]: any;
    });
}
