/// import * as SDK from "aws-sdk"; export declare type PriceList = Price[]; export declare type Price = { product: Price.Product; serviceCode: Price.ServiceCode; terms: Price.Terms; version: Price.Version; publicationDate: Price.PublicationDate; }; export declare namespace Price { type ServiceCode = string; type Version = string; type Product = { productFamily: Product.Family; attributes: Product.Attributes; sku: Product.SKU; }; type Terms = { OnDemand?: Terms.OnDemand; Reserved?: Terms.Reserved; }; type PublicationDate = Date; namespace Product { type Family = string; type SKU = string; type Attributes = { instanceType: Attributes.InstanceType; }; namespace Attributes { type InstanceType = string; } } namespace Terms { type Base = { [id in string]?: Term; }; export type OnDemand = Base; export type Reserved = Base; export type Term = { priceDimensions: Terms.PriceDimensions; sku: Product.SKU; effectiveDate: Date; offerTermCode: Terms.OfferCode; termAttributes: Terms.Attributes; }; export type PriceDimensions = { [id in string]?: PriceDimension; }; export type PriceDimension = { unit: string; pricePerUnit: { USD: string; }; }; export type Attributes = any; export type OfferCode = string; export {}; } } export declare class Pricing { priceList: PriceList; constructor(priceList: PriceList); static instance: Pricing | undefined; averageOnDemandHourlyPricePerUnit(): number | undefined; onDemandHourlyPricesPerUnit(): number[]; onDemandTerms(): Price.Terms.Term[]; reservedTerms(): Price.Terms.Term[]; onDemandPriceDimensions(): Price.Terms.PriceDimension[]; reservedPriceDimensions(): Price.Terms.PriceDimension[]; static init(params: SDK.Pricing.Types.GetProductsRequest, timer?: number): Promise; static Exception: { new (params: SDK.Pricing.GetProductsRequest, message: string): { name: string; message: string; stack?: string | undefined; }; captureStackTrace(targetObject: Object, constructorOpt?: Function | undefined): void; prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined; stackTraceLimit: number; }; static NoDataException: { new (params: SDK.Pricing.GetProductsRequest): { name: string; message: string; stack?: string | undefined; }; captureStackTrace(targetObject: Object, constructorOpt?: Function | undefined): void; prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined; stackTraceLimit: number; }; }