export interface Expression {
    /** Return results that match any of the Expressions that you specified. in the array. */
    Or?: any[];
    /** Return results that match all Expressions that you specified in the array. */
    And?: any[];
    /** Return results that don’t match the Expression that you specified. */
    Not?: Expression;
    /** The specific dimension, values, and match type to filter objects with. */
    Dimensions?: DimensionValues;
}
export interface DimensionValues {
    /** The name of the dimension that you want to filter on. */
    Key: 'SERVICE' | 'OPERATION' | 'USAGE_TYPE' | 'REGION' | 'FREE_TIER_TYPE' | 'DESCRIPTION' | 'USAGE_PERCENTAGE';
    /** The metadata values you can specify to filter upon, so that the results all match at least one of the specified values. */
    Values: any[];
    /** The match options that you can use to filter your results. You can specify only one of these values in the array. */
    MatchOptions: any[];
}
export interface GetAccountActivityInput {
    /** A unique identifier that identifies the activity. */
    activityId: string;
    /** The language code used to return translated title and description fields. */
    languageCode?: 'en-US' | 'en-GB' | 'id-ID' | 'de-DE' | 'es-ES' | 'fr-FR' | 'ja-JP' | 'it-IT' | 'pt-PT' | 'ko-KR' | 'zh-CN' | 'zh-TW' | 'tr-TR';
}
export interface GetFreeTierUsageInput {
    /** An expression that specifies the conditions that you want each FreeTierUsage object to meet. */
    filter?: Expression;
    /** The maximum number of results to return in the response. MaxResults means that there can be up to the specified number of values, but there might be fewer results based on your filters. */
    maxResults?: number;
    /** The pagination token that indicates the next set of results to retrieve. */
    nextToken?: string;
}
export interface ListAccountActivitiesInput {
    /** The activity status filter. This field can be used to filter the response by activities status. */
    filterActivityStatuses?: 'NOT_STARTED' | 'IN_PROGRESS' | 'COMPLETED' | 'EXPIRING'[];
    /** The language code used to return translated titles. */
    languageCode?: 'en-US' | 'en-GB' | 'id-ID' | 'de-DE' | 'es-ES' | 'fr-FR' | 'ja-JP' | 'it-IT' | 'pt-PT' | 'ko-KR' | 'zh-CN' | 'zh-TW' | 'tr-TR';
    /** The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. */
    maxResults?: number;
    /** A token from a previous paginated response. If this is specified, the response includes records beginning from this token (inclusive), up to the number specified by maxResults. */
    nextToken?: string;
}
export interface UpgradeAccountPlanInput {
    /** The target account plan type. This makes it explicit about the change and latest value of the accountPlanType. */
    accountPlanType: 'FREE' | 'PAID';
}
/** FreeTier service binding for Step Functions SDK integrations. */
export declare class FreeTier {
    constructor();
    getAccountActivity<T>(params: GetAccountActivityInput): Promise<T>;
    getAccountPlanState<T>(params: Record<string, any>): Promise<T>;
    getFreeTierUsage<T>(params: GetFreeTierUsageInput): Promise<T>;
    listAccountActivities<T>(params: ListAccountActivitiesInput): Promise<T>;
    upgradeAccountPlan<T>(params: UpgradeAccountPlanInput): Promise<T>;
}
//# sourceMappingURL=FreeTier.d.ts.map