export interface Filter {
    /** The type of filter that you want to use. Valid values are: TERM_MATCH: Returns only products that match both the given filter field and the given value. EQUALS: Returns products that have a field valu */
    Type: 'TERM_MATCH' | 'EQUALS' | 'CONTAINS' | 'ANY_OF' | 'NONE_OF';
    /** The product metadata field that you want to filter on. You can filter by just the service code to see all products for a specific service, filter by just the attribute name to see a specific attribute */
    Field: string;
    /** The service code or attribute value that you want to filter by. If you're filtering by service code this is the actual service code, such as AmazonEC2. If you're filtering by attribute name, this is t */
    Value: string;
}
export interface DescribeServicesInput {
    /** The format version that you want the response to be in. Valid values are: aws_v1 */
    FormatVersion?: string;
    /** The maximum number of results that you want returned in the response. */
    MaxResults?: number;
    /** The pagination token that indicates the next set of results that you want to retrieve. */
    NextToken?: string;
    /** The code for the service whose information you want to retrieve, such as AmazonEC2. You can use the ServiceCode to filter the results in a GetProducts call. To retrieve a list of all services, leave t */
    ServiceCode?: string;
}
export interface GetAttributeValuesInput {
    /** The name of the attribute that you want to retrieve the values for, such as volumeType. */
    AttributeName: string;
    /** The service code for the service whose attributes you want to retrieve. For example, if you want the retrieve an EC2 attribute, use AmazonEC2. */
    ServiceCode: string;
    /** The maximum number of results to return in response. */
    MaxResults?: number;
    /** The pagination token that indicates the next set of results that you want to retrieve. */
    NextToken?: string;
}
export interface GetPriceListFileUrlInput {
    /** The format that you want to retrieve your Price List files in. The FileFormat can be obtained from the ListPriceLists response. */
    FileFormat: string;
    /** The unique identifier that maps to where your Price List files are located. PriceListArn can be obtained from the ListPriceLists response. */
    PriceListArn: string;
}
export interface GetProductsInput {
    /** The code for the service whose products you want to retrieve. */
    ServiceCode: string;
    /** The list of filters that limit the returned products. only products that match all filters are returned. */
    Filters?: Filter[];
    /** The format version that you want the response to be in. Valid values are: aws_v1 */
    FormatVersion?: string;
    /** The maximum number of results to return in the response. */
    MaxResults?: number;
    /** The pagination token that indicates the next set of results that you want to retrieve. */
    NextToken?: string;
}
export interface ListPriceListsInput {
    /** The three alphabetical character ISO-4217 currency code that the Price List files are denominated in. */
    CurrencyCode: string;
    /** The date that the Price List file prices are effective from. */
    EffectiveDate: string;
    /** The service code or the Savings Plan service code for the attributes that you want to retrieve. For example, to get the list of applicable Amazon EC2 price lists, use AmazonEC2. For a full list of ser */
    ServiceCode: string;
    /** The maximum number of results to return in the response. */
    MaxResults?: number;
    /** The pagination token that indicates the next set of results that you want to retrieve. */
    NextToken?: string;
    /** This is used to filter the Price List by Amazon Web Services Region. For example, to get the price list only for the US East (N. Virginia) Region, use us-east-1. If nothing is specified, you retrieve  */
    RegionCode?: string;
}
/** Pricing service binding for Step Functions SDK integrations. */
export declare class Pricing {
    constructor();
    describeServices<T>(params: DescribeServicesInput): Promise<T>;
    getAttributeValues<T>(params: GetAttributeValuesInput): Promise<T>;
    getPriceListFileUrl<T>(params: GetPriceListFileUrlInput): Promise<T>;
    getProducts<T>(params: GetProductsInput): Promise<T>;
    listPriceLists<T>(params: ListPriceListsInput): Promise<T>;
}
//# sourceMappingURL=Pricing.d.ts.map