export interface TagFilter {
    /** One part of a key-value pair that makes up a tag. A key is a general label that acts like a category for more specific tag values. */
    Key?: string;
    /** One part of a key-value pair that make up a tag. A value acts as a descriptor within a tag category (key). The value can be empty or null. */
    Values?: any[];
}
export interface GetComplianceSummaryInput {
    /** Specifies a list of attributes to group the counts of noncompliant resources by. If supplied, the counts are sorted by those attributes. */
    GroupBy?: 'TARGET_ID' | 'REGION' | 'RESOURCE_TYPE'[];
    /** Specifies the maximum number of results to be returned in each page. A query can return fewer than this maximum, even if there are more results still to return. You should always check the PaginationT */
    MaxResults?: number;
    /** Specifies a PaginationToken response value from a previous request to indicate that you want the next page of results. Leave this parameter empty in your initial request. */
    PaginationToken?: string;
    /** Specifies a list of Amazon Web Services Regions to limit the output to. If you use this parameter, the count of returned noncompliant resources includes only resources in the specified Regions. */
    RegionFilters?: string[];
    /** Specifies that you want the response to include information for only resources of the specified types. The format of each resource type is service[:resourceType]. For example, specifying a resource ty */
    ResourceTypeFilters?: string[];
    /** Specifies that you want the response to include information for only resources that have tags with the specified tag keys. If you use this parameter, the count of returned noncompliant resources inclu */
    TagKeyFilters?: string[];
    /** Specifies target identifiers (usually, specific account IDs) to limit the output by. If you use this parameter, the count of returned noncompliant resources includes only resources with the specified  */
    TargetIdFilters?: string[];
}
export interface GetResourcesInput {
    /** Specifies whether to exclude resources that are compliant with the tag policy. Set this to true if you are interested in retrieving information on noncompliant resources only. You can use this paramet */
    ExcludeCompliantResources?: boolean;
    /** Specifies whether to include details regarding the compliance with the effective tag policy. Set this to true to determine whether resources are compliant with the tag policy and to get details. */
    IncludeComplianceDetails?: boolean;
    /** Specifies a PaginationToken response value from a previous request to indicate that you want the next page of results. Leave this parameter empty in your initial request. */
    PaginationToken?: string;
    /** Specifies a list of ARNs of resources for which you want to retrieve tag data. You can't specify both this parameter and the ResourceTypeFilters parameter in the same request. If you do, you get an In */
    ResourceARNList?: string[];
    /** Specifies the maximum number of results to be returned in each page. A query can return fewer than this maximum, even if there are more results still to return. You should always check the PaginationT */
    ResourcesPerPage?: number;
    /** Specifies the resource types that you want included in the response. The format of each resource type is service[:resourceType]. For example, specifying a service of ec2 returns all Amazon EC2 resourc */
    ResourceTypeFilters?: string[];
    /** Specifies a list of TagFilters (keys and values) to restrict the output to only those resources that have tags with the specified keys and, if included, the specified values. Each TagFilter must conta */
    TagFilters?: TagFilter[];
    /** Amazon Web Services recommends using ResourcesPerPage instead of this parameter. A limit that restricts the number of tags (key and value pairs) returned by GetResources in paginated output. A resourc */
    TagsPerPage?: number;
}
export interface GetTagKeysInput {
    /** Specifies a PaginationToken response value from a previous request to indicate that you want the next page of results. Leave this parameter empty in your initial request. */
    PaginationToken?: string;
}
export interface GetTagValuesInput {
    /** Specifies the tag key for which you want to list all existing values that are currently used in the specified Amazon Web Services Region for the calling account. */
    Key: string;
    /** Specifies a PaginationToken response value from a previous request to indicate that you want the next page of results. Leave this parameter empty in your initial request. */
    PaginationToken?: string;
}
export interface ListRequiredTagsInput {
    /** The maximum number of required tags. */
    MaxResults?: number;
    /** A token for requesting another page of required tags if the NextToken response element indicates that more required tags are available. Use the value of the returned NextToken element in your request  */
    NextToken?: string;
}
export interface StartReportCreationInput {
    /** The name of the Amazon S3 bucket where the report will be stored; for example: amzn-s3-demo-bucket For more information on S3 bucket requirements, including an example bucket policy, see the example A */
    S3Bucket: string;
}
export interface TagResourcesInput {
    /** Specifies the list of ARNs of the resources that you want to apply tags to. An ARN (Amazon Resource Name) uniquely identifies a resource. For more information, see Amazon Resource Names (ARNs) and Ama */
    ResourceARNList: string[];
    /** Specifies a list of tags that you want to add to the specified resources. A tag consists of a key and a value that you define. */
    Tags: Record<string, string>;
}
export interface UntagResourcesInput {
    /** Specifies a list of ARNs of the resources that you want to remove tags from. An ARN (Amazon Resource Name) uniquely identifies a resource. For more information, see Amazon Resource Names (ARNs) and Am */
    ResourceARNList: string[];
    /** Specifies a list of tag keys that you want to remove from the specified resources. */
    TagKeys: string[];
}
/** Resource Groups Tagging API service binding for Step Functions SDK integrations. */
export declare class ResourceGroupsTaggingAPI {
    constructor();
    describeReportCreation<T>(params: Record<string, any>): Promise<T>;
    getComplianceSummary<T>(params: GetComplianceSummaryInput): Promise<T>;
    getResources<T>(params: GetResourcesInput): Promise<T>;
    getTagKeys<T>(params: GetTagKeysInput): Promise<T>;
    getTagValues<T>(params: GetTagValuesInput): Promise<T>;
    listRequiredTags<T>(params: ListRequiredTagsInput): Promise<T>;
    startReportCreation<T>(params: StartReportCreationInput): Promise<T>;
    tagResources<T>(params: TagResourcesInput): Promise<T>;
    untagResources<T>(params: UntagResourcesInput): Promise<T>;
}
//# sourceMappingURL=ResourceGroupsTaggingAPI.d.ts.map