import type { HttpHandlerOptions as __HttpHandlerOptions, MetricsRecorder as __MetricsRecorder } from "@smithy/types"; import { type CreateSavingsPlanCommandInput, type CreateSavingsPlanCommandOutput } from "./commands/CreateSavingsPlanCommand"; import { type DeleteQueuedSavingsPlanCommandInput, type DeleteQueuedSavingsPlanCommandOutput } from "./commands/DeleteQueuedSavingsPlanCommand"; import { type DescribeSavingsPlanRatesCommandInput, type DescribeSavingsPlanRatesCommandOutput } from "./commands/DescribeSavingsPlanRatesCommand"; import { type DescribeSavingsPlansCommandInput, type DescribeSavingsPlansCommandOutput } from "./commands/DescribeSavingsPlansCommand"; import { type DescribeSavingsPlansOfferingRatesCommandInput, type DescribeSavingsPlansOfferingRatesCommandOutput } from "./commands/DescribeSavingsPlansOfferingRatesCommand"; import { type DescribeSavingsPlansOfferingsCommandInput, type DescribeSavingsPlansOfferingsCommandOutput } from "./commands/DescribeSavingsPlansOfferingsCommand"; import { type ListTagsForResourceCommandInput, type ListTagsForResourceCommandOutput } from "./commands/ListTagsForResourceCommand"; import { type ReturnSavingsPlanCommandInput, type ReturnSavingsPlanCommandOutput } from "./commands/ReturnSavingsPlanCommand"; import { type TagResourceCommandInput, type TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { type UntagResourceCommandInput, type UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; import { SavingsplansClient } from "./SavingsplansClient"; /** * @public */ export interface SavingsplansRequestOptions extends __HttpHandlerOptions { metricsRecorder?: __MetricsRecorder; } export interface Savingsplans { /** * @see {@link CreateSavingsPlanCommand} */ createSavingsPlan(args: CreateSavingsPlanCommandInput, options?: SavingsplansRequestOptions): Promise; createSavingsPlan(args: CreateSavingsPlanCommandInput, cb: (err: any, data?: CreateSavingsPlanCommandOutput) => void): void; createSavingsPlan(args: CreateSavingsPlanCommandInput, options: SavingsplansRequestOptions, cb: (err: any, data?: CreateSavingsPlanCommandOutput) => void): void; /** * @see {@link DeleteQueuedSavingsPlanCommand} */ deleteQueuedSavingsPlan(args: DeleteQueuedSavingsPlanCommandInput, options?: SavingsplansRequestOptions): Promise; deleteQueuedSavingsPlan(args: DeleteQueuedSavingsPlanCommandInput, cb: (err: any, data?: DeleteQueuedSavingsPlanCommandOutput) => void): void; deleteQueuedSavingsPlan(args: DeleteQueuedSavingsPlanCommandInput, options: SavingsplansRequestOptions, cb: (err: any, data?: DeleteQueuedSavingsPlanCommandOutput) => void): void; /** * @see {@link DescribeSavingsPlanRatesCommand} */ describeSavingsPlanRates(args: DescribeSavingsPlanRatesCommandInput, options?: SavingsplansRequestOptions): Promise; describeSavingsPlanRates(args: DescribeSavingsPlanRatesCommandInput, cb: (err: any, data?: DescribeSavingsPlanRatesCommandOutput) => void): void; describeSavingsPlanRates(args: DescribeSavingsPlanRatesCommandInput, options: SavingsplansRequestOptions, cb: (err: any, data?: DescribeSavingsPlanRatesCommandOutput) => void): void; /** * @see {@link DescribeSavingsPlansCommand} */ describeSavingsPlans(): Promise; describeSavingsPlans(args: DescribeSavingsPlansCommandInput, options?: SavingsplansRequestOptions): Promise; describeSavingsPlans(args: DescribeSavingsPlansCommandInput, cb: (err: any, data?: DescribeSavingsPlansCommandOutput) => void): void; describeSavingsPlans(args: DescribeSavingsPlansCommandInput, options: SavingsplansRequestOptions, cb: (err: any, data?: DescribeSavingsPlansCommandOutput) => void): void; /** * @see {@link DescribeSavingsPlansOfferingRatesCommand} */ describeSavingsPlansOfferingRates(): Promise; describeSavingsPlansOfferingRates(args: DescribeSavingsPlansOfferingRatesCommandInput, options?: SavingsplansRequestOptions): Promise; describeSavingsPlansOfferingRates(args: DescribeSavingsPlansOfferingRatesCommandInput, cb: (err: any, data?: DescribeSavingsPlansOfferingRatesCommandOutput) => void): void; describeSavingsPlansOfferingRates(args: DescribeSavingsPlansOfferingRatesCommandInput, options: SavingsplansRequestOptions, cb: (err: any, data?: DescribeSavingsPlansOfferingRatesCommandOutput) => void): void; /** * @see {@link DescribeSavingsPlansOfferingsCommand} */ describeSavingsPlansOfferings(): Promise; describeSavingsPlansOfferings(args: DescribeSavingsPlansOfferingsCommandInput, options?: SavingsplansRequestOptions): Promise; describeSavingsPlansOfferings(args: DescribeSavingsPlansOfferingsCommandInput, cb: (err: any, data?: DescribeSavingsPlansOfferingsCommandOutput) => void): void; describeSavingsPlansOfferings(args: DescribeSavingsPlansOfferingsCommandInput, options: SavingsplansRequestOptions, cb: (err: any, data?: DescribeSavingsPlansOfferingsCommandOutput) => void): void; /** * @see {@link ListTagsForResourceCommand} */ listTagsForResource(args: ListTagsForResourceCommandInput, options?: SavingsplansRequestOptions): Promise; listTagsForResource(args: ListTagsForResourceCommandInput, cb: (err: any, data?: ListTagsForResourceCommandOutput) => void): void; listTagsForResource(args: ListTagsForResourceCommandInput, options: SavingsplansRequestOptions, cb: (err: any, data?: ListTagsForResourceCommandOutput) => void): void; /** * @see {@link ReturnSavingsPlanCommand} */ returnSavingsPlan(args: ReturnSavingsPlanCommandInput, options?: SavingsplansRequestOptions): Promise; returnSavingsPlan(args: ReturnSavingsPlanCommandInput, cb: (err: any, data?: ReturnSavingsPlanCommandOutput) => void): void; returnSavingsPlan(args: ReturnSavingsPlanCommandInput, options: SavingsplansRequestOptions, cb: (err: any, data?: ReturnSavingsPlanCommandOutput) => void): void; /** * @see {@link TagResourceCommand} */ tagResource(args: TagResourceCommandInput, options?: SavingsplansRequestOptions): Promise; tagResource(args: TagResourceCommandInput, cb: (err: any, data?: TagResourceCommandOutput) => void): void; tagResource(args: TagResourceCommandInput, options: SavingsplansRequestOptions, cb: (err: any, data?: TagResourceCommandOutput) => void): void; /** * @see {@link UntagResourceCommand} */ untagResource(args: UntagResourceCommandInput, options?: SavingsplansRequestOptions): Promise; untagResource(args: UntagResourceCommandInput, cb: (err: any, data?: UntagResourceCommandOutput) => void): void; untagResource(args: UntagResourceCommandInput, options: SavingsplansRequestOptions, cb: (err: any, data?: UntagResourceCommandOutput) => void): void; } /** *

Savings Plans are a pricing model that offer significant savings on Amazon Web Services usage (for example, on Amazon EC2 instances). You commit to a consistent * amount of usage per hour, in the specified currency, for a term of one or three years, and * receive a lower price for that usage. For more information, see the Amazon Web Services * Savings Plans User Guide.

* @public */ export declare class Savingsplans extends SavingsplansClient implements Savingsplans { }