import * as HttpClient from "effect/unstable/http/HttpClient";
import * as S from "effect/Schema";
import * as stream from "effect/Stream";
import * as API from "../client/api.ts";
import type { Credentials } from "../credentials.ts";
import type { CommonErrors } from "../errors.ts";
import type { Region } from "../region.ts";
export type Arn = string;
export type ResourceTagKey = string;
export type ResourceTagValue = string;
export type ResourceId = string;
export type BillEstimateName = string;
export type ClientToken = string;
export type CostCategoryArn = string;
export type NextPageToken = string;
export type MaxResults = number;
export type Uuid = string;
export type AccountId = string;
export type UsageGroup = string;
export type ReservedInstanceInstanceCount = number;
export type SavingsPlanCommitment = number;
export type ServiceCode = string;
export type UsageType = string;
export type Operation = string;
export type AvailabilityZone = string;
export type BillScenarioName = string;
export type Key = string;
export type WorkloadEstimateName = string;
export type WorkloadEstimateUsageMaxResults = number;
export interface GetPreferencesRequest {
}
export declare const GetPreferencesRequest: S.Schema<GetPreferencesRequest>;
export type RateType = "BEFORE_DISCOUNTS" | "AFTER_DISCOUNTS" | "AFTER_DISCOUNTS_AND_COMMITMENTS" | (string & {});
export declare const RateType: S.String;
export type RateTypes = RateType[];
export declare const RateTypes: S.$Array<S.String>;
export interface GetPreferencesResponse {
    managementAccountRateTypeSelections?: RateType[];
    memberAccountRateTypeSelections?: RateType[];
    standaloneAccountRateTypeSelections?: RateType[];
}
export declare const GetPreferencesResponse: S.Schema<GetPreferencesResponse>;
export interface ListTagsForResourceRequest {
    arn: string;
}
export declare const ListTagsForResourceRequest: S.Schema<ListTagsForResourceRequest>;
export type Tags = {
    [key: string]: string | undefined;
};
export declare const Tags: S.$Record<S.String, S.optional<S.String>>;
export interface ListTagsForResourceResponse {
    tags?: {
        [key: string]: string | undefined;
    };
}
export declare const ListTagsForResourceResponse: S.Schema<ListTagsForResourceResponse>;
export interface TagResourceRequest {
    arn: string;
    tags: {
        [key: string]: string | undefined;
    };
}
export declare const TagResourceRequest: S.Schema<TagResourceRequest>;
export interface TagResourceResponse {
}
export declare const TagResourceResponse: S.Schema<TagResourceResponse>;
export type ResourceTagKeys = string[];
export declare const ResourceTagKeys: S.$Array<S.String>;
export interface UntagResourceRequest {
    arn: string;
    tagKeys: string[];
}
export declare const UntagResourceRequest: S.Schema<UntagResourceRequest>;
export interface UntagResourceResponse {
}
export declare const UntagResourceResponse: S.Schema<UntagResourceResponse>;
export interface UpdatePreferencesRequest {
    managementAccountRateTypeSelections?: RateType[];
    memberAccountRateTypeSelections?: RateType[];
    standaloneAccountRateTypeSelections?: RateType[];
}
export declare const UpdatePreferencesRequest: S.Schema<UpdatePreferencesRequest>;
export interface UpdatePreferencesResponse {
    managementAccountRateTypeSelections?: RateType[];
    memberAccountRateTypeSelections?: RateType[];
    standaloneAccountRateTypeSelections?: RateType[];
}
export declare const UpdatePreferencesResponse: S.Schema<UpdatePreferencesResponse>;
export interface CreateBillEstimateRequest {
    billScenarioId: string;
    name: string;
    clientToken?: string;
    tags?: {
        [key: string]: string | undefined;
    };
}
export declare const CreateBillEstimateRequest: S.Schema<CreateBillEstimateRequest>;
export type BillEstimateStatus = "IN_PROGRESS" | "COMPLETE" | "FAILED" | (string & {});
export declare const BillEstimateStatus: S.String;
export interface BillInterval {
    start?: Date;
    end?: Date;
}
export declare const BillInterval: S.Schema<BillInterval>;
export type CurrencyCode = "USD" | (string & {});
export declare const CurrencyCode: S.String;
export interface CostAmount {
    amount?: number;
    currency?: CurrencyCode;
}
export declare const CostAmount: S.Schema<CostAmount>;
export interface CostDifference {
    historicalCost?: CostAmount;
    estimatedCost?: CostAmount;
}
export declare const CostDifference: S.Schema<CostDifference>;
export type ServiceCostDifferenceMap = {
    [key: string]: CostDifference | undefined;
};
export declare const ServiceCostDifferenceMap: S.$Record<S.String, S.optional<S.Schema<CostDifference>>>;
export interface BillEstimateCostSummary {
    totalCostDifference?: CostDifference;
    serviceCostDifferences?: {
        [key: string]: CostDifference | undefined;
    };
}
export declare const BillEstimateCostSummary: S.Schema<BillEstimateCostSummary>;
export type GroupSharingPreferenceEnum = "OPEN" | "PRIORITIZED" | "RESTRICTED" | (string & {});
export declare const GroupSharingPreferenceEnum: S.String;
export interface CreateBillEstimateResponse {
    id: string;
    name?: string;
    status?: BillEstimateStatus;
    failureMessage?: string;
    billInterval?: BillInterval;
    costSummary?: BillEstimateCostSummary;
    createdAt?: Date;
    expiresAt?: Date;
    groupSharingPreference?: GroupSharingPreferenceEnum;
    costCategoryGroupSharingPreferenceArn?: string;
    costCategoryGroupSharingPreferenceEffectiveDate?: Date;
}
export declare const CreateBillEstimateResponse: S.Schema<CreateBillEstimateResponse>;
export interface GetBillEstimateRequest {
    identifier: string;
}
export declare const GetBillEstimateRequest: S.Schema<GetBillEstimateRequest>;
export interface GetBillEstimateResponse {
    id: string;
    name?: string;
    status?: BillEstimateStatus;
    failureMessage?: string;
    billInterval?: BillInterval;
    costSummary?: BillEstimateCostSummary;
    createdAt?: Date;
    expiresAt?: Date;
    groupSharingPreference?: GroupSharingPreferenceEnum;
    costCategoryGroupSharingPreferenceArn?: string;
    costCategoryGroupSharingPreferenceEffectiveDate?: Date;
}
export declare const GetBillEstimateResponse: S.Schema<GetBillEstimateResponse>;
export interface UpdateBillEstimateRequest {
    identifier: string;
    name?: string;
    expiresAt?: Date;
}
export declare const UpdateBillEstimateRequest: S.Schema<UpdateBillEstimateRequest>;
export interface UpdateBillEstimateResponse {
    id: string;
    name?: string;
    status?: BillEstimateStatus;
    failureMessage?: string;
    billInterval?: BillInterval;
    costSummary?: BillEstimateCostSummary;
    createdAt?: Date;
    expiresAt?: Date;
    groupSharingPreference?: GroupSharingPreferenceEnum;
    costCategoryGroupSharingPreferenceArn?: string;
    costCategoryGroupSharingPreferenceEffectiveDate?: Date;
}
export declare const UpdateBillEstimateResponse: S.Schema<UpdateBillEstimateResponse>;
export interface DeleteBillEstimateRequest {
    identifier: string;
}
export declare const DeleteBillEstimateRequest: S.Schema<DeleteBillEstimateRequest>;
export interface DeleteBillEstimateResponse {
}
export declare const DeleteBillEstimateResponse: S.Schema<DeleteBillEstimateResponse>;
export type ListBillEstimatesFilterName = "STATUS" | "NAME" | (string & {});
export declare const ListBillEstimatesFilterName: S.String;
export type ListBillEstimatesFilterValues = string[];
export declare const ListBillEstimatesFilterValues: S.$Array<S.String>;
export type MatchOption = "EQUALS" | "STARTS_WITH" | "CONTAINS" | (string & {});
export declare const MatchOption: S.String;
export interface ListBillEstimatesFilter {
    name: ListBillEstimatesFilterName;
    values: string[];
    matchOption?: MatchOption;
}
export declare const ListBillEstimatesFilter: S.Schema<ListBillEstimatesFilter>;
export type ListBillEstimatesFilters = ListBillEstimatesFilter[];
export declare const ListBillEstimatesFilters: S.$Array<S.Schema<ListBillEstimatesFilter>>;
export interface FilterTimestamp {
    afterTimestamp?: Date;
    beforeTimestamp?: Date;
}
export declare const FilterTimestamp: S.Schema<FilterTimestamp>;
export interface ListBillEstimatesRequest {
    filters?: ListBillEstimatesFilter[];
    createdAtFilter?: FilterTimestamp;
    expiresAtFilter?: FilterTimestamp;
    nextToken?: string;
    maxResults?: number;
}
export declare const ListBillEstimatesRequest: S.Schema<ListBillEstimatesRequest>;
export interface BillEstimateSummary {
    id: string;
    name?: string;
    status?: BillEstimateStatus;
    billInterval?: BillInterval;
    createdAt?: Date;
    expiresAt?: Date;
}
export declare const BillEstimateSummary: S.Schema<BillEstimateSummary>;
export type BillEstimateSummaries = BillEstimateSummary[];
export declare const BillEstimateSummaries: S.$Array<S.Schema<BillEstimateSummary>>;
export interface ListBillEstimatesResponse {
    items?: BillEstimateSummary[];
    nextToken?: string;
}
export declare const ListBillEstimatesResponse: S.Schema<ListBillEstimatesResponse>;
export interface ListBillEstimateCommitmentsRequest {
    billEstimateId: string;
    nextToken?: string;
    maxResults?: number;
}
export declare const ListBillEstimateCommitmentsRequest: S.Schema<ListBillEstimateCommitmentsRequest>;
export type PurchaseAgreementType = "SAVINGS_PLANS" | "RESERVED_INSTANCE" | (string & {});
export declare const PurchaseAgreementType: S.String;
export interface BillEstimateCommitmentSummary {
    id?: string;
    purchaseAgreementType?: PurchaseAgreementType;
    offeringId?: string;
    usageAccountId?: string;
    region?: string;
    termLength?: string;
    paymentOption?: string;
    upfrontPayment?: CostAmount;
    monthlyPayment?: CostAmount;
}
export declare const BillEstimateCommitmentSummary: S.Schema<BillEstimateCommitmentSummary>;
export type BillEstimateCommitmentSummaries = BillEstimateCommitmentSummary[];
export declare const BillEstimateCommitmentSummaries: S.$Array<S.Schema<BillEstimateCommitmentSummary>>;
export interface ListBillEstimateCommitmentsResponse {
    items?: BillEstimateCommitmentSummary[];
    nextToken?: string;
}
export declare const ListBillEstimateCommitmentsResponse: S.Schema<ListBillEstimateCommitmentsResponse>;
export interface ListBillEstimateInputCommitmentModificationsRequest {
    billEstimateId: string;
    nextToken?: string;
    maxResults?: number;
}
export declare const ListBillEstimateInputCommitmentModificationsRequest: S.Schema<ListBillEstimateInputCommitmentModificationsRequest>;
export interface AddReservedInstanceAction {
    reservedInstancesOfferingId?: string;
    instanceCount?: number;
}
export declare const AddReservedInstanceAction: S.Schema<AddReservedInstanceAction>;
export interface AddSavingsPlanAction {
    savingsPlanOfferingId?: string;
    commitment?: number;
}
export declare const AddSavingsPlanAction: S.Schema<AddSavingsPlanAction>;
export interface NegateReservedInstanceAction {
    reservedInstancesId?: string;
}
export declare const NegateReservedInstanceAction: S.Schema<NegateReservedInstanceAction>;
export interface NegateSavingsPlanAction {
    savingsPlanId?: string;
}
export declare const NegateSavingsPlanAction: S.Schema<NegateSavingsPlanAction>;
export type BillScenarioCommitmentModificationAction = {
    addReservedInstanceAction: AddReservedInstanceAction;
    addSavingsPlanAction?: never;
    negateReservedInstanceAction?: never;
    negateSavingsPlanAction?: never;
} | {
    addReservedInstanceAction?: never;
    addSavingsPlanAction: AddSavingsPlanAction;
    negateReservedInstanceAction?: never;
    negateSavingsPlanAction?: never;
} | {
    addReservedInstanceAction?: never;
    addSavingsPlanAction?: never;
    negateReservedInstanceAction: NegateReservedInstanceAction;
    negateSavingsPlanAction?: never;
} | {
    addReservedInstanceAction?: never;
    addSavingsPlanAction?: never;
    negateReservedInstanceAction?: never;
    negateSavingsPlanAction: NegateSavingsPlanAction;
};
export declare const BillScenarioCommitmentModificationAction: S.Union<readonly [S.Struct<{
    readonly addReservedInstanceAction: S.Schema<AddReservedInstanceAction>;
}>, S.Struct<{
    readonly addSavingsPlanAction: S.Schema<AddSavingsPlanAction>;
}>, S.Struct<{
    readonly negateReservedInstanceAction: S.Schema<NegateReservedInstanceAction>;
}>, S.Struct<{
    readonly negateSavingsPlanAction: S.Schema<NegateSavingsPlanAction>;
}>]>;
export interface BillEstimateInputCommitmentModificationSummary {
    id?: string;
    group?: string;
    usageAccountId?: string;
    commitmentAction?: BillScenarioCommitmentModificationAction;
}
export declare const BillEstimateInputCommitmentModificationSummary: S.Schema<BillEstimateInputCommitmentModificationSummary>;
export type BillEstimateInputCommitmentModificationSummaries = BillEstimateInputCommitmentModificationSummary[];
export declare const BillEstimateInputCommitmentModificationSummaries: S.$Array<S.Schema<BillEstimateInputCommitmentModificationSummary>>;
export interface ListBillEstimateInputCommitmentModificationsResponse {
    items?: BillEstimateInputCommitmentModificationSummary[];
    nextToken?: string;
}
export declare const ListBillEstimateInputCommitmentModificationsResponse: S.Schema<ListBillEstimateInputCommitmentModificationsResponse>;
export type ListUsageFilterName = "USAGE_ACCOUNT_ID" | "SERVICE_CODE" | "USAGE_TYPE" | "OPERATION" | "LOCATION" | "USAGE_GROUP" | "HISTORICAL_USAGE_ACCOUNT_ID" | "HISTORICAL_SERVICE_CODE" | "HISTORICAL_USAGE_TYPE" | "HISTORICAL_OPERATION" | "HISTORICAL_LOCATION" | (string & {});
export declare const ListUsageFilterName: S.String;
export type ListUsageFilterValues = string[];
export declare const ListUsageFilterValues: S.$Array<S.String>;
export interface ListUsageFilter {
    name: ListUsageFilterName;
    values: string[];
    matchOption?: MatchOption;
}
export declare const ListUsageFilter: S.Schema<ListUsageFilter>;
export type ListUsageFilters = ListUsageFilter[];
export declare const ListUsageFilters: S.$Array<S.Schema<ListUsageFilter>>;
export interface ListBillEstimateInputUsageModificationsRequest {
    billEstimateId: string;
    filters?: ListUsageFilter[];
    nextToken?: string;
    maxResults?: number;
}
export declare const ListBillEstimateInputUsageModificationsRequest: S.Schema<ListBillEstimateInputUsageModificationsRequest>;
export interface UsageQuantity {
    startHour?: Date;
    unit?: string;
    amount?: number;
}
export declare const UsageQuantity: S.Schema<UsageQuantity>;
export type UsageQuantities = UsageQuantity[];
export declare const UsageQuantities: S.$Array<S.Schema<UsageQuantity>>;
export type ExpressionList = Expression[];
export declare const ExpressionList: S.Schema<ExpressionList>;
export type StringList = string[];
export declare const StringList: S.$Array<S.String>;
export interface ExpressionFilter {
    key?: string;
    matchOptions?: string[];
    values?: string[];
}
export declare const ExpressionFilter: S.Schema<ExpressionFilter>;
export interface Expression {
    and?: Expression[];
    or?: Expression[];
    not?: Expression;
    costCategories?: ExpressionFilter;
    dimensions?: ExpressionFilter;
    tags?: ExpressionFilter;
}
export declare const Expression: S.Schema<Expression>;
export interface HistoricalUsageEntity {
    serviceCode: string;
    usageType: string;
    operation: string;
    location?: string;
    usageAccountId: string;
    billInterval: BillInterval;
    filterExpression: Expression;
}
export declare const HistoricalUsageEntity: S.Schema<HistoricalUsageEntity>;
export interface BillEstimateInputUsageModificationSummary {
    serviceCode: string;
    usageType: string;
    operation: string;
    location?: string;
    availabilityZone?: string;
    id?: string;
    group?: string;
    usageAccountId?: string;
    quantities?: UsageQuantity[];
    historicalUsage?: HistoricalUsageEntity;
}
export declare const BillEstimateInputUsageModificationSummary: S.Schema<BillEstimateInputUsageModificationSummary>;
export type BillEstimateInputUsageModificationSummaries = BillEstimateInputUsageModificationSummary[];
export declare const BillEstimateInputUsageModificationSummaries: S.$Array<S.Schema<BillEstimateInputUsageModificationSummary>>;
export interface ListBillEstimateInputUsageModificationsResponse {
    items?: BillEstimateInputUsageModificationSummary[];
    nextToken?: string;
}
export declare const ListBillEstimateInputUsageModificationsResponse: S.Schema<ListBillEstimateInputUsageModificationsResponse>;
export type ListBillEstimateLineItemsFilterName = "USAGE_ACCOUNT_ID" | "SERVICE_CODE" | "USAGE_TYPE" | "OPERATION" | "LOCATION" | "LINE_ITEM_TYPE" | (string & {});
export declare const ListBillEstimateLineItemsFilterName: S.String;
export type ListBillEstimateLineItemsFilterValues = string[];
export declare const ListBillEstimateLineItemsFilterValues: S.$Array<S.String>;
export interface ListBillEstimateLineItemsFilter {
    name: ListBillEstimateLineItemsFilterName;
    values: string[];
    matchOption?: MatchOption;
}
export declare const ListBillEstimateLineItemsFilter: S.Schema<ListBillEstimateLineItemsFilter>;
export type ListBillEstimateLineItemsFilters = ListBillEstimateLineItemsFilter[];
export declare const ListBillEstimateLineItemsFilters: S.$Array<S.Schema<ListBillEstimateLineItemsFilter>>;
export interface ListBillEstimateLineItemsRequest {
    billEstimateId: string;
    filters?: ListBillEstimateLineItemsFilter[];
    nextToken?: string;
    maxResults?: number;
}
export declare const ListBillEstimateLineItemsRequest: S.Schema<ListBillEstimateLineItemsRequest>;
export interface UsageQuantityResult {
    amount?: number;
    unit?: string;
}
export declare const UsageQuantityResult: S.Schema<UsageQuantityResult>;
export type SavingsPlanArns = string[];
export declare const SavingsPlanArns: S.$Array<S.String>;
export interface BillEstimateLineItemSummary {
    serviceCode: string;
    usageType: string;
    operation: string;
    location?: string;
    availabilityZone?: string;
    id?: string;
    lineItemId?: string;
    lineItemType?: string;
    payerAccountId?: string;
    usageAccountId?: string;
    estimatedUsageQuantity?: UsageQuantityResult;
    estimatedCost?: CostAmount;
    historicalUsageQuantity?: UsageQuantityResult;
    historicalCost?: CostAmount;
    savingsPlanArns?: string[];
}
export declare const BillEstimateLineItemSummary: S.Schema<BillEstimateLineItemSummary>;
export type BillEstimateLineItemSummaries = BillEstimateLineItemSummary[];
export declare const BillEstimateLineItemSummaries: S.$Array<S.Schema<BillEstimateLineItemSummary>>;
export interface ListBillEstimateLineItemsResponse {
    items?: BillEstimateLineItemSummary[];
    nextToken?: string;
}
export declare const ListBillEstimateLineItemsResponse: S.Schema<ListBillEstimateLineItemsResponse>;
export interface CreateBillScenarioRequest {
    name: string;
    clientToken?: string;
    tags?: {
        [key: string]: string | undefined;
    };
    groupSharingPreference?: GroupSharingPreferenceEnum;
    costCategoryGroupSharingPreferenceArn?: string;
}
export declare const CreateBillScenarioRequest: S.Schema<CreateBillScenarioRequest>;
export type BillScenarioStatus = "READY" | "LOCKED" | "FAILED" | "STALE" | (string & {});
export declare const BillScenarioStatus: S.String;
export interface CreateBillScenarioResponse {
    id: string;
    name?: string;
    billInterval?: BillInterval;
    status?: BillScenarioStatus;
    createdAt?: Date;
    expiresAt?: Date;
    failureMessage?: string;
    groupSharingPreference?: GroupSharingPreferenceEnum;
    costCategoryGroupSharingPreferenceArn?: string;
}
export declare const CreateBillScenarioResponse: S.Schema<CreateBillScenarioResponse>;
export interface GetBillScenarioRequest {
    identifier: string;
}
export declare const GetBillScenarioRequest: S.Schema<GetBillScenarioRequest>;
export interface GetBillScenarioResponse {
    id: string;
    name?: string;
    billInterval?: BillInterval;
    status?: BillScenarioStatus;
    createdAt?: Date;
    expiresAt?: Date;
    failureMessage?: string;
    groupSharingPreference?: GroupSharingPreferenceEnum;
    costCategoryGroupSharingPreferenceArn?: string;
}
export declare const GetBillScenarioResponse: S.Schema<GetBillScenarioResponse>;
export interface UpdateBillScenarioRequest {
    identifier: string;
    name?: string;
    expiresAt?: Date;
    groupSharingPreference?: GroupSharingPreferenceEnum;
    costCategoryGroupSharingPreferenceArn?: string;
}
export declare const UpdateBillScenarioRequest: S.Schema<UpdateBillScenarioRequest>;
export interface UpdateBillScenarioResponse {
    id: string;
    name?: string;
    billInterval?: BillInterval;
    status?: BillScenarioStatus;
    createdAt?: Date;
    expiresAt?: Date;
    failureMessage?: string;
    groupSharingPreference?: GroupSharingPreferenceEnum;
    costCategoryGroupSharingPreferenceArn?: string;
}
export declare const UpdateBillScenarioResponse: S.Schema<UpdateBillScenarioResponse>;
export interface DeleteBillScenarioRequest {
    identifier: string;
}
export declare const DeleteBillScenarioRequest: S.Schema<DeleteBillScenarioRequest>;
export interface DeleteBillScenarioResponse {
}
export declare const DeleteBillScenarioResponse: S.Schema<DeleteBillScenarioResponse>;
export type ListBillScenariosFilterName = "STATUS" | "NAME" | "GROUP_SHARING_PREFERENCE" | "COST_CATEGORY_ARN" | (string & {});
export declare const ListBillScenariosFilterName: S.String;
export type ListBillScenariosFilterValues = string[];
export declare const ListBillScenariosFilterValues: S.$Array<S.String>;
export interface ListBillScenariosFilter {
    name: ListBillScenariosFilterName;
    values: string[];
    matchOption?: MatchOption;
}
export declare const ListBillScenariosFilter: S.Schema<ListBillScenariosFilter>;
export type ListBillScenariosFilters = ListBillScenariosFilter[];
export declare const ListBillScenariosFilters: S.$Array<S.Schema<ListBillScenariosFilter>>;
export interface ListBillScenariosRequest {
    filters?: ListBillScenariosFilter[];
    createdAtFilter?: FilterTimestamp;
    expiresAtFilter?: FilterTimestamp;
    nextToken?: string;
    maxResults?: number;
}
export declare const ListBillScenariosRequest: S.Schema<ListBillScenariosRequest>;
export interface BillScenarioSummary {
    id: string;
    name?: string;
    billInterval?: BillInterval;
    status?: BillScenarioStatus;
    createdAt?: Date;
    expiresAt?: Date;
    failureMessage?: string;
    groupSharingPreference?: GroupSharingPreferenceEnum;
    costCategoryGroupSharingPreferenceArn?: string;
}
export declare const BillScenarioSummary: S.Schema<BillScenarioSummary>;
export type BillScenarioSummaries = BillScenarioSummary[];
export declare const BillScenarioSummaries: S.$Array<S.Schema<BillScenarioSummary>>;
export interface ListBillScenariosResponse {
    items?: BillScenarioSummary[];
    nextToken?: string;
}
export declare const ListBillScenariosResponse: S.Schema<ListBillScenariosResponse>;
export interface ListBillScenarioCommitmentModificationsRequest {
    billScenarioId: string;
    nextToken?: string;
    maxResults?: number;
}
export declare const ListBillScenarioCommitmentModificationsRequest: S.Schema<ListBillScenarioCommitmentModificationsRequest>;
export interface BillScenarioCommitmentModificationItem {
    id?: string;
    usageAccountId?: string;
    group?: string;
    commitmentAction?: BillScenarioCommitmentModificationAction;
}
export declare const BillScenarioCommitmentModificationItem: S.Schema<BillScenarioCommitmentModificationItem>;
export type BillScenarioCommitmentModificationItems = BillScenarioCommitmentModificationItem[];
export declare const BillScenarioCommitmentModificationItems: S.$Array<S.Schema<BillScenarioCommitmentModificationItem>>;
export interface ListBillScenarioCommitmentModificationsResponse {
    items?: BillScenarioCommitmentModificationItem[];
    nextToken?: string;
}
export declare const ListBillScenarioCommitmentModificationsResponse: S.Schema<ListBillScenarioCommitmentModificationsResponse>;
export interface BatchCreateBillScenarioCommitmentModificationEntry {
    key: string;
    group?: string;
    usageAccountId: string;
    commitmentAction: BillScenarioCommitmentModificationAction;
}
export declare const BatchCreateBillScenarioCommitmentModificationEntry: S.Schema<BatchCreateBillScenarioCommitmentModificationEntry>;
export type BatchCreateBillScenarioCommitmentModificationEntries = BatchCreateBillScenarioCommitmentModificationEntry[];
export declare const BatchCreateBillScenarioCommitmentModificationEntries: S.$Array<S.Schema<BatchCreateBillScenarioCommitmentModificationEntry>>;
export interface BatchCreateBillScenarioCommitmentModificationRequest {
    billScenarioId: string;
    commitmentModifications: BatchCreateBillScenarioCommitmentModificationEntry[];
    clientToken?: string;
}
export declare const BatchCreateBillScenarioCommitmentModificationRequest: S.Schema<BatchCreateBillScenarioCommitmentModificationRequest>;
export interface BatchCreateBillScenarioCommitmentModificationItem {
    key?: string;
    id?: string;
    group?: string;
    usageAccountId?: string;
    commitmentAction?: BillScenarioCommitmentModificationAction;
}
export declare const BatchCreateBillScenarioCommitmentModificationItem: S.Schema<BatchCreateBillScenarioCommitmentModificationItem>;
export type BatchCreateBillScenarioCommitmentModificationItems = BatchCreateBillScenarioCommitmentModificationItem[];
export declare const BatchCreateBillScenarioCommitmentModificationItems: S.$Array<S.Schema<BatchCreateBillScenarioCommitmentModificationItem>>;
export type BatchCreateBillScenarioCommitmentModificationErrorCode = "CONFLICT" | "INTERNAL_SERVER_ERROR" | "INVALID_ACCOUNT" | (string & {});
export declare const BatchCreateBillScenarioCommitmentModificationErrorCode: S.String;
export interface BatchCreateBillScenarioCommitmentModificationError_ {
    key?: string;
    errorMessage?: string;
    errorCode?: BatchCreateBillScenarioCommitmentModificationErrorCode;
}
export declare const BatchCreateBillScenarioCommitmentModificationError_: S.Schema<BatchCreateBillScenarioCommitmentModificationError_>;
export type BatchCreateBillScenarioCommitmentModificationErrors = BatchCreateBillScenarioCommitmentModificationError_[];
export declare const BatchCreateBillScenarioCommitmentModificationErrors: S.$Array<S.Schema<BatchCreateBillScenarioCommitmentModificationError_>>;
export interface BatchCreateBillScenarioCommitmentModificationResponse {
    items?: BatchCreateBillScenarioCommitmentModificationItem[];
    errors?: BatchCreateBillScenarioCommitmentModificationError_[];
}
export declare const BatchCreateBillScenarioCommitmentModificationResponse: S.Schema<BatchCreateBillScenarioCommitmentModificationResponse>;
export type BatchDeleteBillScenarioCommitmentModificationEntries = string[];
export declare const BatchDeleteBillScenarioCommitmentModificationEntries: S.$Array<S.String>;
export interface BatchDeleteBillScenarioCommitmentModificationRequest {
    billScenarioId: string;
    ids: string[];
}
export declare const BatchDeleteBillScenarioCommitmentModificationRequest: S.Schema<BatchDeleteBillScenarioCommitmentModificationRequest>;
export type BatchDeleteBillScenarioCommitmentModificationErrorCode = "BAD_REQUEST" | "CONFLICT" | "INTERNAL_SERVER_ERROR" | (string & {});
export declare const BatchDeleteBillScenarioCommitmentModificationErrorCode: S.String;
export interface BatchDeleteBillScenarioCommitmentModificationError_ {
    id?: string;
    errorCode?: BatchDeleteBillScenarioCommitmentModificationErrorCode;
    errorMessage?: string;
}
export declare const BatchDeleteBillScenarioCommitmentModificationError_: S.Schema<BatchDeleteBillScenarioCommitmentModificationError_>;
export type BatchDeleteBillScenarioCommitmentModificationErrors = BatchDeleteBillScenarioCommitmentModificationError_[];
export declare const BatchDeleteBillScenarioCommitmentModificationErrors: S.$Array<S.Schema<BatchDeleteBillScenarioCommitmentModificationError_>>;
export interface BatchDeleteBillScenarioCommitmentModificationResponse {
    errors?: BatchDeleteBillScenarioCommitmentModificationError_[];
}
export declare const BatchDeleteBillScenarioCommitmentModificationResponse: S.Schema<BatchDeleteBillScenarioCommitmentModificationResponse>;
export interface BatchUpdateBillScenarioCommitmentModificationEntry {
    id: string;
    group?: string;
}
export declare const BatchUpdateBillScenarioCommitmentModificationEntry: S.Schema<BatchUpdateBillScenarioCommitmentModificationEntry>;
export type BatchUpdateBillScenarioCommitmentModificationEntries = BatchUpdateBillScenarioCommitmentModificationEntry[];
export declare const BatchUpdateBillScenarioCommitmentModificationEntries: S.$Array<S.Schema<BatchUpdateBillScenarioCommitmentModificationEntry>>;
export interface BatchUpdateBillScenarioCommitmentModificationRequest {
    billScenarioId: string;
    commitmentModifications: BatchUpdateBillScenarioCommitmentModificationEntry[];
}
export declare const BatchUpdateBillScenarioCommitmentModificationRequest: S.Schema<BatchUpdateBillScenarioCommitmentModificationRequest>;
export type BatchUpdateBillScenarioCommitmentModificationErrorCode = "BAD_REQUEST" | "NOT_FOUND" | "CONFLICT" | "INTERNAL_SERVER_ERROR" | (string & {});
export declare const BatchUpdateBillScenarioCommitmentModificationErrorCode: S.String;
export interface BatchUpdateBillScenarioCommitmentModificationError_ {
    id?: string;
    errorCode?: BatchUpdateBillScenarioCommitmentModificationErrorCode;
    errorMessage?: string;
}
export declare const BatchUpdateBillScenarioCommitmentModificationError_: S.Schema<BatchUpdateBillScenarioCommitmentModificationError_>;
export type BatchUpdateBillScenarioCommitmentModificationErrors = BatchUpdateBillScenarioCommitmentModificationError_[];
export declare const BatchUpdateBillScenarioCommitmentModificationErrors: S.$Array<S.Schema<BatchUpdateBillScenarioCommitmentModificationError_>>;
export interface BatchUpdateBillScenarioCommitmentModificationResponse {
    items?: BillScenarioCommitmentModificationItem[];
    errors?: BatchUpdateBillScenarioCommitmentModificationError_[];
}
export declare const BatchUpdateBillScenarioCommitmentModificationResponse: S.Schema<BatchUpdateBillScenarioCommitmentModificationResponse>;
export interface ListBillScenarioUsageModificationsRequest {
    billScenarioId: string;
    filters?: ListUsageFilter[];
    nextToken?: string;
    maxResults?: number;
}
export declare const ListBillScenarioUsageModificationsRequest: S.Schema<ListBillScenarioUsageModificationsRequest>;
export interface BillScenarioUsageModificationItem {
    serviceCode: string;
    usageType: string;
    operation: string;
    location?: string;
    availabilityZone?: string;
    id?: string;
    group?: string;
    usageAccountId?: string;
    quantities?: UsageQuantity[];
    historicalUsage?: HistoricalUsageEntity;
}
export declare const BillScenarioUsageModificationItem: S.Schema<BillScenarioUsageModificationItem>;
export type BillScenarioUsageModificationItems = BillScenarioUsageModificationItem[];
export declare const BillScenarioUsageModificationItems: S.$Array<S.Schema<BillScenarioUsageModificationItem>>;
export interface ListBillScenarioUsageModificationsResponse {
    items?: BillScenarioUsageModificationItem[];
    nextToken?: string;
}
export declare const ListBillScenarioUsageModificationsResponse: S.Schema<ListBillScenarioUsageModificationsResponse>;
export interface UsageAmount {
    startHour: Date;
    amount: number;
}
export declare const UsageAmount: S.Schema<UsageAmount>;
export type UsageAmounts = UsageAmount[];
export declare const UsageAmounts: S.$Array<S.Schema<UsageAmount>>;
export interface BatchCreateBillScenarioUsageModificationEntry {
    serviceCode: string;
    usageType: string;
    operation: string;
    availabilityZone?: string;
    key: string;
    group?: string;
    usageAccountId: string;
    amounts?: UsageAmount[];
    historicalUsage?: HistoricalUsageEntity;
}
export declare const BatchCreateBillScenarioUsageModificationEntry: S.Schema<BatchCreateBillScenarioUsageModificationEntry>;
export type BatchCreateBillScenarioUsageModificationEntries = BatchCreateBillScenarioUsageModificationEntry[];
export declare const BatchCreateBillScenarioUsageModificationEntries: S.$Array<S.Schema<BatchCreateBillScenarioUsageModificationEntry>>;
export interface BatchCreateBillScenarioUsageModificationRequest {
    billScenarioId: string;
    usageModifications: BatchCreateBillScenarioUsageModificationEntry[];
    clientToken?: string;
}
export declare const BatchCreateBillScenarioUsageModificationRequest: S.Schema<BatchCreateBillScenarioUsageModificationRequest>;
export interface BatchCreateBillScenarioUsageModificationItem {
    serviceCode: string;
    usageType: string;
    operation: string;
    location?: string;
    availabilityZone?: string;
    id?: string;
    group?: string;
    usageAccountId?: string;
    quantities?: UsageQuantity[];
    historicalUsage?: HistoricalUsageEntity;
    key?: string;
}
export declare const BatchCreateBillScenarioUsageModificationItem: S.Schema<BatchCreateBillScenarioUsageModificationItem>;
export type BatchCreateBillScenarioUsageModificationItems = BatchCreateBillScenarioUsageModificationItem[];
export declare const BatchCreateBillScenarioUsageModificationItems: S.$Array<S.Schema<BatchCreateBillScenarioUsageModificationItem>>;
export type BatchCreateBillScenarioUsageModificationErrorCode = "BAD_REQUEST" | "NOT_FOUND" | "CONFLICT" | "INTERNAL_SERVER_ERROR" | (string & {});
export declare const BatchCreateBillScenarioUsageModificationErrorCode: S.String;
export interface BatchCreateBillScenarioUsageModificationError_ {
    key?: string;
    errorMessage?: string;
    errorCode?: BatchCreateBillScenarioUsageModificationErrorCode;
}
export declare const BatchCreateBillScenarioUsageModificationError_: S.Schema<BatchCreateBillScenarioUsageModificationError_>;
export type BatchCreateBillScenarioUsageModificationErrors = BatchCreateBillScenarioUsageModificationError_[];
export declare const BatchCreateBillScenarioUsageModificationErrors: S.$Array<S.Schema<BatchCreateBillScenarioUsageModificationError_>>;
export interface BatchCreateBillScenarioUsageModificationResponse {
    items?: BatchCreateBillScenarioUsageModificationItem[];
    errors?: BatchCreateBillScenarioUsageModificationError_[];
}
export declare const BatchCreateBillScenarioUsageModificationResponse: S.Schema<BatchCreateBillScenarioUsageModificationResponse>;
export type BatchDeleteBillScenarioUsageModificationEntries = string[];
export declare const BatchDeleteBillScenarioUsageModificationEntries: S.$Array<S.String>;
export interface BatchDeleteBillScenarioUsageModificationRequest {
    billScenarioId: string;
    ids: string[];
}
export declare const BatchDeleteBillScenarioUsageModificationRequest: S.Schema<BatchDeleteBillScenarioUsageModificationRequest>;
export type BatchDeleteBillScenarioUsageModificationErrorCode = "BAD_REQUEST" | "CONFLICT" | "INTERNAL_SERVER_ERROR" | (string & {});
export declare const BatchDeleteBillScenarioUsageModificationErrorCode: S.String;
export interface BatchDeleteBillScenarioUsageModificationError_ {
    id?: string;
    errorMessage?: string;
    errorCode?: BatchDeleteBillScenarioUsageModificationErrorCode;
}
export declare const BatchDeleteBillScenarioUsageModificationError_: S.Schema<BatchDeleteBillScenarioUsageModificationError_>;
export type BatchDeleteBillScenarioUsageModificationErrors = BatchDeleteBillScenarioUsageModificationError_[];
export declare const BatchDeleteBillScenarioUsageModificationErrors: S.$Array<S.Schema<BatchDeleteBillScenarioUsageModificationError_>>;
export interface BatchDeleteBillScenarioUsageModificationResponse {
    errors?: BatchDeleteBillScenarioUsageModificationError_[];
}
export declare const BatchDeleteBillScenarioUsageModificationResponse: S.Schema<BatchDeleteBillScenarioUsageModificationResponse>;
export interface BatchUpdateBillScenarioUsageModificationEntry {
    id: string;
    group?: string;
    amounts?: UsageAmount[];
}
export declare const BatchUpdateBillScenarioUsageModificationEntry: S.Schema<BatchUpdateBillScenarioUsageModificationEntry>;
export type BatchUpdateBillScenarioUsageModificationEntries = BatchUpdateBillScenarioUsageModificationEntry[];
export declare const BatchUpdateBillScenarioUsageModificationEntries: S.$Array<S.Schema<BatchUpdateBillScenarioUsageModificationEntry>>;
export interface BatchUpdateBillScenarioUsageModificationRequest {
    billScenarioId: string;
    usageModifications: BatchUpdateBillScenarioUsageModificationEntry[];
}
export declare const BatchUpdateBillScenarioUsageModificationRequest: S.Schema<BatchUpdateBillScenarioUsageModificationRequest>;
export type BatchUpdateBillScenarioUsageModificationErrorCode = "BAD_REQUEST" | "NOT_FOUND" | "CONFLICT" | "INTERNAL_SERVER_ERROR" | (string & {});
export declare const BatchUpdateBillScenarioUsageModificationErrorCode: S.String;
export interface BatchUpdateBillScenarioUsageModificationError_ {
    id?: string;
    errorMessage?: string;
    errorCode?: BatchUpdateBillScenarioUsageModificationErrorCode;
}
export declare const BatchUpdateBillScenarioUsageModificationError_: S.Schema<BatchUpdateBillScenarioUsageModificationError_>;
export type BatchUpdateBillScenarioUsageModificationErrors = BatchUpdateBillScenarioUsageModificationError_[];
export declare const BatchUpdateBillScenarioUsageModificationErrors: S.$Array<S.Schema<BatchUpdateBillScenarioUsageModificationError_>>;
export interface BatchUpdateBillScenarioUsageModificationResponse {
    items?: BillScenarioUsageModificationItem[];
    errors?: BatchUpdateBillScenarioUsageModificationError_[];
}
export declare const BatchUpdateBillScenarioUsageModificationResponse: S.Schema<BatchUpdateBillScenarioUsageModificationResponse>;
export type WorkloadEstimateRateType = "BEFORE_DISCOUNTS" | "AFTER_DISCOUNTS" | "AFTER_DISCOUNTS_AND_COMMITMENTS" | (string & {});
export declare const WorkloadEstimateRateType: S.String;
export interface CreateWorkloadEstimateRequest {
    name: string;
    clientToken?: string;
    rateType?: WorkloadEstimateRateType;
    tags?: {
        [key: string]: string | undefined;
    };
}
export declare const CreateWorkloadEstimateRequest: S.Schema<CreateWorkloadEstimateRequest>;
export type WorkloadEstimateStatus = "UPDATING" | "VALID" | "INVALID" | "ACTION_NEEDED" | (string & {});
export declare const WorkloadEstimateStatus: S.String;
export interface CreateWorkloadEstimateResponse {
    id: string;
    name?: string;
    createdAt?: Date;
    expiresAt?: Date;
    rateType?: WorkloadEstimateRateType;
    rateTimestamp?: Date;
    status?: WorkloadEstimateStatus;
    totalCost?: number;
    costCurrency?: CurrencyCode;
    failureMessage?: string;
}
export declare const CreateWorkloadEstimateResponse: S.Schema<CreateWorkloadEstimateResponse>;
export interface GetWorkloadEstimateRequest {
    identifier: string;
}
export declare const GetWorkloadEstimateRequest: S.Schema<GetWorkloadEstimateRequest>;
export interface GetWorkloadEstimateResponse {
    id: string;
    name?: string;
    createdAt?: Date;
    expiresAt?: Date;
    rateType?: WorkloadEstimateRateType;
    rateTimestamp?: Date;
    status?: WorkloadEstimateStatus;
    totalCost?: number;
    costCurrency?: CurrencyCode;
    failureMessage?: string;
}
export declare const GetWorkloadEstimateResponse: S.Schema<GetWorkloadEstimateResponse>;
export interface UpdateWorkloadEstimateRequest {
    identifier: string;
    name?: string;
    expiresAt?: Date;
}
export declare const UpdateWorkloadEstimateRequest: S.Schema<UpdateWorkloadEstimateRequest>;
export interface UpdateWorkloadEstimateResponse {
    id: string;
    name?: string;
    createdAt?: Date;
    expiresAt?: Date;
    rateType?: WorkloadEstimateRateType;
    rateTimestamp?: Date;
    status?: WorkloadEstimateStatus;
    totalCost?: number;
    costCurrency?: CurrencyCode;
    failureMessage?: string;
}
export declare const UpdateWorkloadEstimateResponse: S.Schema<UpdateWorkloadEstimateResponse>;
export interface DeleteWorkloadEstimateRequest {
    identifier: string;
}
export declare const DeleteWorkloadEstimateRequest: S.Schema<DeleteWorkloadEstimateRequest>;
export interface DeleteWorkloadEstimateResponse {
}
export declare const DeleteWorkloadEstimateResponse: S.Schema<DeleteWorkloadEstimateResponse>;
export type ListWorkloadEstimatesFilterName = "STATUS" | "NAME" | (string & {});
export declare const ListWorkloadEstimatesFilterName: S.String;
export type ListWorkloadEstimatesFilterValues = string[];
export declare const ListWorkloadEstimatesFilterValues: S.$Array<S.String>;
export interface ListWorkloadEstimatesFilter {
    name: ListWorkloadEstimatesFilterName;
    values: string[];
    matchOption?: MatchOption;
}
export declare const ListWorkloadEstimatesFilter: S.Schema<ListWorkloadEstimatesFilter>;
export type ListWorkloadEstimatesFilters = ListWorkloadEstimatesFilter[];
export declare const ListWorkloadEstimatesFilters: S.$Array<S.Schema<ListWorkloadEstimatesFilter>>;
export interface ListWorkloadEstimatesRequest {
    createdAtFilter?: FilterTimestamp;
    expiresAtFilter?: FilterTimestamp;
    filters?: ListWorkloadEstimatesFilter[];
    nextToken?: string;
    maxResults?: number;
}
export declare const ListWorkloadEstimatesRequest: S.Schema<ListWorkloadEstimatesRequest>;
export interface WorkloadEstimateSummary {
    id: string;
    name?: string;
    createdAt?: Date;
    expiresAt?: Date;
    rateType?: WorkloadEstimateRateType;
    rateTimestamp?: Date;
    status?: WorkloadEstimateStatus;
    totalCost?: number;
    costCurrency?: CurrencyCode;
    failureMessage?: string;
}
export declare const WorkloadEstimateSummary: S.Schema<WorkloadEstimateSummary>;
export type WorkloadEstimateSummaries = WorkloadEstimateSummary[];
export declare const WorkloadEstimateSummaries: S.$Array<S.Schema<WorkloadEstimateSummary>>;
export interface ListWorkloadEstimatesResponse {
    items?: WorkloadEstimateSummary[];
    nextToken?: string;
}
export declare const ListWorkloadEstimatesResponse: S.Schema<ListWorkloadEstimatesResponse>;
export interface ListWorkloadEstimateUsageRequest {
    workloadEstimateId: string;
    filters?: ListUsageFilter[];
    nextToken?: string;
    maxResults?: number;
}
export declare const ListWorkloadEstimateUsageRequest: S.Schema<ListWorkloadEstimateUsageRequest>;
export interface WorkloadEstimateUsageQuantity {
    unit?: string;
    amount?: number;
}
export declare const WorkloadEstimateUsageQuantity: S.Schema<WorkloadEstimateUsageQuantity>;
export type WorkloadEstimateCostStatus = "VALID" | "INVALID" | "STALE" | (string & {});
export declare const WorkloadEstimateCostStatus: S.String;
export interface WorkloadEstimateUsageItem {
    serviceCode: string;
    usageType: string;
    operation: string;
    location?: string;
    id?: string;
    usageAccountId?: string;
    group?: string;
    quantity?: WorkloadEstimateUsageQuantity;
    cost?: number;
    currency?: CurrencyCode;
    status?: WorkloadEstimateCostStatus;
    historicalUsage?: HistoricalUsageEntity;
}
export declare const WorkloadEstimateUsageItem: S.Schema<WorkloadEstimateUsageItem>;
export type WorkloadEstimateUsageItems = WorkloadEstimateUsageItem[];
export declare const WorkloadEstimateUsageItems: S.$Array<S.Schema<WorkloadEstimateUsageItem>>;
export interface ListWorkloadEstimateUsageResponse {
    items?: WorkloadEstimateUsageItem[];
    nextToken?: string;
}
export declare const ListWorkloadEstimateUsageResponse: S.Schema<ListWorkloadEstimateUsageResponse>;
export interface BatchCreateWorkloadEstimateUsageEntry {
    serviceCode: string;
    usageType: string;
    operation: string;
    key: string;
    group?: string;
    usageAccountId: string;
    amount: number;
    historicalUsage?: HistoricalUsageEntity;
}
export declare const BatchCreateWorkloadEstimateUsageEntry: S.Schema<BatchCreateWorkloadEstimateUsageEntry>;
export type BatchCreateWorkloadEstimateUsageEntries = BatchCreateWorkloadEstimateUsageEntry[];
export declare const BatchCreateWorkloadEstimateUsageEntries: S.$Array<S.Schema<BatchCreateWorkloadEstimateUsageEntry>>;
export interface BatchCreateWorkloadEstimateUsageRequest {
    workloadEstimateId: string;
    usage: BatchCreateWorkloadEstimateUsageEntry[];
    clientToken?: string;
}
export declare const BatchCreateWorkloadEstimateUsageRequest: S.Schema<BatchCreateWorkloadEstimateUsageRequest>;
export interface BatchCreateWorkloadEstimateUsageItem {
    serviceCode: string;
    usageType: string;
    operation: string;
    location?: string;
    id?: string;
    usageAccountId?: string;
    group?: string;
    quantity?: WorkloadEstimateUsageQuantity;
    cost?: number;
    currency?: CurrencyCode;
    status?: WorkloadEstimateCostStatus;
    historicalUsage?: HistoricalUsageEntity;
    key?: string;
}
export declare const BatchCreateWorkloadEstimateUsageItem: S.Schema<BatchCreateWorkloadEstimateUsageItem>;
export type BatchCreateWorkloadEstimateUsageItems = BatchCreateWorkloadEstimateUsageItem[];
export declare const BatchCreateWorkloadEstimateUsageItems: S.$Array<S.Schema<BatchCreateWorkloadEstimateUsageItem>>;
export type BatchCreateWorkloadEstimateUsageCode = "BAD_REQUEST" | "NOT_FOUND" | "CONFLICT" | "INTERNAL_SERVER_ERROR" | (string & {});
export declare const BatchCreateWorkloadEstimateUsageCode: S.String;
export interface BatchCreateWorkloadEstimateUsageError_ {
    key?: string;
    errorCode?: BatchCreateWorkloadEstimateUsageCode;
    errorMessage?: string;
}
export declare const BatchCreateWorkloadEstimateUsageError_: S.Schema<BatchCreateWorkloadEstimateUsageError_>;
export type BatchCreateWorkloadEstimateUsageErrors = BatchCreateWorkloadEstimateUsageError_[];
export declare const BatchCreateWorkloadEstimateUsageErrors: S.$Array<S.Schema<BatchCreateWorkloadEstimateUsageError_>>;
export interface BatchCreateWorkloadEstimateUsageResponse {
    items?: BatchCreateWorkloadEstimateUsageItem[];
    errors?: BatchCreateWorkloadEstimateUsageError_[];
}
export declare const BatchCreateWorkloadEstimateUsageResponse: S.Schema<BatchCreateWorkloadEstimateUsageResponse>;
export type BatchDeleteWorkloadEstimateUsageEntries = string[];
export declare const BatchDeleteWorkloadEstimateUsageEntries: S.$Array<S.String>;
export interface BatchDeleteWorkloadEstimateUsageRequest {
    workloadEstimateId: string;
    ids: string[];
}
export declare const BatchDeleteWorkloadEstimateUsageRequest: S.Schema<BatchDeleteWorkloadEstimateUsageRequest>;
export type WorkloadEstimateUpdateUsageErrorCode = "BAD_REQUEST" | "NOT_FOUND" | "CONFLICT" | "INTERNAL_SERVER_ERROR" | (string & {});
export declare const WorkloadEstimateUpdateUsageErrorCode: S.String;
export interface BatchDeleteWorkloadEstimateUsageError_ {
    id?: string;
    errorMessage?: string;
    errorCode?: WorkloadEstimateUpdateUsageErrorCode;
}
export declare const BatchDeleteWorkloadEstimateUsageError_: S.Schema<BatchDeleteWorkloadEstimateUsageError_>;
export type BatchDeleteWorkloadEstimateUsageErrors = BatchDeleteWorkloadEstimateUsageError_[];
export declare const BatchDeleteWorkloadEstimateUsageErrors: S.$Array<S.Schema<BatchDeleteWorkloadEstimateUsageError_>>;
export interface BatchDeleteWorkloadEstimateUsageResponse {
    errors?: BatchDeleteWorkloadEstimateUsageError_[];
}
export declare const BatchDeleteWorkloadEstimateUsageResponse: S.Schema<BatchDeleteWorkloadEstimateUsageResponse>;
export interface BatchUpdateWorkloadEstimateUsageEntry {
    id: string;
    group?: string;
    amount?: number;
}
export declare const BatchUpdateWorkloadEstimateUsageEntry: S.Schema<BatchUpdateWorkloadEstimateUsageEntry>;
export type BatchUpdateWorkloadEstimateUsageEntries = BatchUpdateWorkloadEstimateUsageEntry[];
export declare const BatchUpdateWorkloadEstimateUsageEntries: S.$Array<S.Schema<BatchUpdateWorkloadEstimateUsageEntry>>;
export interface BatchUpdateWorkloadEstimateUsageRequest {
    workloadEstimateId: string;
    usage: BatchUpdateWorkloadEstimateUsageEntry[];
}
export declare const BatchUpdateWorkloadEstimateUsageRequest: S.Schema<BatchUpdateWorkloadEstimateUsageRequest>;
export interface BatchUpdateWorkloadEstimateUsageError_ {
    id?: string;
    errorMessage?: string;
    errorCode?: WorkloadEstimateUpdateUsageErrorCode;
}
export declare const BatchUpdateWorkloadEstimateUsageError_: S.Schema<BatchUpdateWorkloadEstimateUsageError_>;
export type BatchUpdateWorkloadEstimateUsageErrors = BatchUpdateWorkloadEstimateUsageError_[];
export declare const BatchUpdateWorkloadEstimateUsageErrors: S.$Array<S.Schema<BatchUpdateWorkloadEstimateUsageError_>>;
export interface BatchUpdateWorkloadEstimateUsageResponse {
    items?: WorkloadEstimateUsageItem[];
    errors?: BatchUpdateWorkloadEstimateUsageError_[];
}
export declare const BatchUpdateWorkloadEstimateUsageResponse: S.Schema<BatchUpdateWorkloadEstimateUsageResponse>;
declare const DataUnavailableException_base: S.Class<DataUnavailableException, S.TaggedStruct<"DataUnavailableException", {
    readonly message: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class DataUnavailableException extends DataUnavailableException_base {
}
declare const ResourceNotFoundException_base: S.Class<ResourceNotFoundException, S.TaggedStruct<"ResourceNotFoundException", {
    readonly message: S.String;
    readonly resourceId: S.String;
    readonly resourceType: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
export declare class ResourceNotFoundException extends ResourceNotFoundException_base {
}
declare const ServiceQuotaExceededException_base: S.Class<ServiceQuotaExceededException, S.TaggedStruct<"ServiceQuotaExceededException", {
    readonly message: S.String;
    readonly resourceId: S.String;
    readonly resourceType: S.String;
    readonly serviceCode: S.optional<S.String>;
    readonly quotaCode: S.optional<S.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        QuotaError: true;
    };
});
export declare class ServiceQuotaExceededException extends ServiceQuotaExceededException_base {
}
declare const ConflictException_base: S.Class<ConflictException, S.TaggedStruct<"ConflictException", {
    readonly message: S.String;
    readonly resourceId: S.String;
    readonly resourceType: S.String;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ConflictError: true;
    };
});
export declare class ConflictException extends ConflictException_base {
}
export type GetPreferencesError = DataUnavailableException | CommonErrors;
/**
 * Retrieves the current preferences for Pricing Calculator.
 */
export declare const getPreferences: API.OperationMethod<GetPreferencesRequest, GetPreferencesResponse, GetPreferencesError, Credentials | Region | HttpClient.HttpClient>;
export type ListTagsForResourceError = ResourceNotFoundException | CommonErrors;
/**
 * Lists all tags associated with a specified resource.
 */
export declare const listTagsForResource: API.OperationMethod<ListTagsForResourceRequest, ListTagsForResourceResponse, ListTagsForResourceError, Credentials | Region | HttpClient.HttpClient>;
export type TagResourceError = ResourceNotFoundException | ServiceQuotaExceededException | CommonErrors;
/**
 * Adds one or more tags to a specified resource.
 */
export declare const tagResource: API.OperationMethod<TagResourceRequest, TagResourceResponse, TagResourceError, Credentials | Region | HttpClient.HttpClient>;
export type UntagResourceError = ResourceNotFoundException | CommonErrors;
/**
 * Removes one or more tags from a specified resource.
 */
export declare const untagResource: API.OperationMethod<UntagResourceRequest, UntagResourceResponse, UntagResourceError, Credentials | Region | HttpClient.HttpClient>;
export type UpdatePreferencesError = DataUnavailableException | ServiceQuotaExceededException | CommonErrors;
/**
 * Updates the preferences for Pricing Calculator.
 */
export declare const updatePreferences: API.OperationMethod<UpdatePreferencesRequest, UpdatePreferencesResponse, UpdatePreferencesError, Credentials | Region | HttpClient.HttpClient>;
export type CreateBillEstimateError = ConflictException | DataUnavailableException | ResourceNotFoundException | CommonErrors;
/**
 * Create a Bill estimate from a Bill scenario. In the Bill scenario you can model usage addition, usage changes, and usage removal. You can also model commitment addition and commitment removal. After all changes in a Bill scenario is made satisfactorily, you can call this API with a Bill scenario ID to generate the Bill estimate. Bill estimate calculates the pre-tax cost for your consolidated billing family, incorporating all modeled usage and commitments alongside existing usage and commitments from your most recent completed anniversary bill, with any applicable discounts applied.
 */
export declare const createBillEstimate: API.OperationMethod<CreateBillEstimateRequest, CreateBillEstimateResponse, CreateBillEstimateError, Credentials | Region | HttpClient.HttpClient>;
export type GetBillEstimateError = DataUnavailableException | ResourceNotFoundException | CommonErrors;
/**
 * Retrieves details of a specific bill estimate.
 */
export declare const getBillEstimate: API.OperationMethod<GetBillEstimateRequest, GetBillEstimateResponse, GetBillEstimateError, Credentials | Region | HttpClient.HttpClient>;
export type UpdateBillEstimateError = ConflictException | DataUnavailableException | ResourceNotFoundException | CommonErrors;
/**
 * Updates an existing bill estimate.
 */
export declare const updateBillEstimate: API.OperationMethod<UpdateBillEstimateRequest, UpdateBillEstimateResponse, UpdateBillEstimateError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteBillEstimateError = ConflictException | DataUnavailableException | CommonErrors;
/**
 * Deletes an existing bill estimate.
 */
export declare const deleteBillEstimate: API.OperationMethod<DeleteBillEstimateRequest, DeleteBillEstimateResponse, DeleteBillEstimateError, Credentials | Region | HttpClient.HttpClient>;
export type ListBillEstimatesError = DataUnavailableException | CommonErrors;
/**
 * Lists all bill estimates for the account.
 */
export declare const listBillEstimates: API.OperationMethod<ListBillEstimatesRequest, ListBillEstimatesResponse, ListBillEstimatesError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListBillEstimatesRequest) => stream.Stream<ListBillEstimatesResponse, ListBillEstimatesError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListBillEstimatesRequest) => stream.Stream<BillEstimateSummary, ListBillEstimatesError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListBillEstimateCommitmentsError = DataUnavailableException | ResourceNotFoundException | CommonErrors;
/**
 * Lists the commitments associated with a bill estimate.
 */
export declare const listBillEstimateCommitments: API.OperationMethod<ListBillEstimateCommitmentsRequest, ListBillEstimateCommitmentsResponse, ListBillEstimateCommitmentsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListBillEstimateCommitmentsRequest) => stream.Stream<ListBillEstimateCommitmentsResponse, ListBillEstimateCommitmentsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListBillEstimateCommitmentsRequest) => stream.Stream<BillEstimateCommitmentSummary, ListBillEstimateCommitmentsError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListBillEstimateInputCommitmentModificationsError = DataUnavailableException | ResourceNotFoundException | CommonErrors;
/**
 * Lists the input commitment modifications associated with a bill estimate.
 */
export declare const listBillEstimateInputCommitmentModifications: API.OperationMethod<ListBillEstimateInputCommitmentModificationsRequest, ListBillEstimateInputCommitmentModificationsResponse, ListBillEstimateInputCommitmentModificationsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListBillEstimateInputCommitmentModificationsRequest) => stream.Stream<ListBillEstimateInputCommitmentModificationsResponse, ListBillEstimateInputCommitmentModificationsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListBillEstimateInputCommitmentModificationsRequest) => stream.Stream<BillEstimateInputCommitmentModificationSummary, ListBillEstimateInputCommitmentModificationsError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListBillEstimateInputUsageModificationsError = DataUnavailableException | ResourceNotFoundException | CommonErrors;
/**
 * Lists the input usage modifications associated with a bill estimate.
 */
export declare const listBillEstimateInputUsageModifications: API.OperationMethod<ListBillEstimateInputUsageModificationsRequest, ListBillEstimateInputUsageModificationsResponse, ListBillEstimateInputUsageModificationsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListBillEstimateInputUsageModificationsRequest) => stream.Stream<ListBillEstimateInputUsageModificationsResponse, ListBillEstimateInputUsageModificationsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListBillEstimateInputUsageModificationsRequest) => stream.Stream<BillEstimateInputUsageModificationSummary, ListBillEstimateInputUsageModificationsError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListBillEstimateLineItemsError = DataUnavailableException | ResourceNotFoundException | CommonErrors;
/**
 * Lists the line items associated with a bill estimate.
 */
export declare const listBillEstimateLineItems: API.OperationMethod<ListBillEstimateLineItemsRequest, ListBillEstimateLineItemsResponse, ListBillEstimateLineItemsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListBillEstimateLineItemsRequest) => stream.Stream<ListBillEstimateLineItemsResponse, ListBillEstimateLineItemsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListBillEstimateLineItemsRequest) => stream.Stream<BillEstimateLineItemSummary, ListBillEstimateLineItemsError, Credentials | Region | HttpClient.HttpClient>;
};
export type CreateBillScenarioError = ConflictException | DataUnavailableException | ServiceQuotaExceededException | CommonErrors;
/**
 * Creates a new bill scenario to model potential changes to Amazon Web Services usage and costs.
 */
export declare const createBillScenario: API.OperationMethod<CreateBillScenarioRequest, CreateBillScenarioResponse, CreateBillScenarioError, Credentials | Region | HttpClient.HttpClient>;
export type GetBillScenarioError = DataUnavailableException | ResourceNotFoundException | CommonErrors;
/**
 * Retrieves details of a specific bill scenario.
 */
export declare const getBillScenario: API.OperationMethod<GetBillScenarioRequest, GetBillScenarioResponse, GetBillScenarioError, Credentials | Region | HttpClient.HttpClient>;
export type UpdateBillScenarioError = ConflictException | DataUnavailableException | ResourceNotFoundException | CommonErrors;
/**
 * Updates an existing bill scenario.
 */
export declare const updateBillScenario: API.OperationMethod<UpdateBillScenarioRequest, UpdateBillScenarioResponse, UpdateBillScenarioError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteBillScenarioError = ConflictException | DataUnavailableException | CommonErrors;
/**
 * Deletes an existing bill scenario.
 */
export declare const deleteBillScenario: API.OperationMethod<DeleteBillScenarioRequest, DeleteBillScenarioResponse, DeleteBillScenarioError, Credentials | Region | HttpClient.HttpClient>;
export type ListBillScenariosError = DataUnavailableException | CommonErrors;
/**
 * Lists all bill scenarios for the account.
 */
export declare const listBillScenarios: API.OperationMethod<ListBillScenariosRequest, ListBillScenariosResponse, ListBillScenariosError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListBillScenariosRequest) => stream.Stream<ListBillScenariosResponse, ListBillScenariosError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListBillScenariosRequest) => stream.Stream<BillScenarioSummary, ListBillScenariosError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListBillScenarioCommitmentModificationsError = DataUnavailableException | ResourceNotFoundException | CommonErrors;
/**
 * Lists the commitment modifications associated with a bill scenario.
 */
export declare const listBillScenarioCommitmentModifications: API.OperationMethod<ListBillScenarioCommitmentModificationsRequest, ListBillScenarioCommitmentModificationsResponse, ListBillScenarioCommitmentModificationsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListBillScenarioCommitmentModificationsRequest) => stream.Stream<ListBillScenarioCommitmentModificationsResponse, ListBillScenarioCommitmentModificationsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListBillScenarioCommitmentModificationsRequest) => stream.Stream<BillScenarioCommitmentModificationItem, ListBillScenarioCommitmentModificationsError, Credentials | Region | HttpClient.HttpClient>;
};
export type BatchCreateBillScenarioCommitmentModificationError = ConflictException | DataUnavailableException | ResourceNotFoundException | CommonErrors;
/**
 * Create Compute Savings Plans, EC2 Instance Savings Plans, or EC2 Reserved Instances commitments that you want to model in a Bill Scenario.
 *
 * The `BatchCreateBillScenarioCommitmentModification` operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission `bcm-pricing-calculator:CreateBillScenarioCommitmentModification` in your policies.
 */
export declare const batchCreateBillScenarioCommitmentModification: API.OperationMethod<BatchCreateBillScenarioCommitmentModificationRequest, BatchCreateBillScenarioCommitmentModificationResponse, BatchCreateBillScenarioCommitmentModificationError, Credentials | Region | HttpClient.HttpClient>;
export type BatchDeleteBillScenarioCommitmentModificationError = ConflictException | DataUnavailableException | ResourceNotFoundException | CommonErrors;
/**
 * Delete commitment that you have created in a Bill Scenario. You can only delete a commitment that you had added and cannot model deletion (or removal) of a existing commitment. If you want model deletion of an existing commitment, see the negate BillScenarioCommitmentModificationAction of BatchCreateBillScenarioCommitmentModification operation.
 *
 * The `BatchDeleteBillScenarioCommitmentModification` operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission `bcm-pricing-calculator:DeleteBillScenarioCommitmentModification` in your policies.
 */
export declare const batchDeleteBillScenarioCommitmentModification: API.OperationMethod<BatchDeleteBillScenarioCommitmentModificationRequest, BatchDeleteBillScenarioCommitmentModificationResponse, BatchDeleteBillScenarioCommitmentModificationError, Credentials | Region | HttpClient.HttpClient>;
export type BatchUpdateBillScenarioCommitmentModificationError = ConflictException | DataUnavailableException | ResourceNotFoundException | CommonErrors;
/**
 * Update a newly added or existing commitment. You can update the commitment group based on a commitment ID and a Bill scenario ID.
 *
 * The `BatchUpdateBillScenarioCommitmentModification` operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission `bcm-pricing-calculator:UpdateBillScenarioCommitmentModification` in your policies.
 */
export declare const batchUpdateBillScenarioCommitmentModification: API.OperationMethod<BatchUpdateBillScenarioCommitmentModificationRequest, BatchUpdateBillScenarioCommitmentModificationResponse, BatchUpdateBillScenarioCommitmentModificationError, Credentials | Region | HttpClient.HttpClient>;
export type ListBillScenarioUsageModificationsError = DataUnavailableException | ResourceNotFoundException | CommonErrors;
/**
 * Lists the usage modifications associated with a bill scenario.
 */
export declare const listBillScenarioUsageModifications: API.OperationMethod<ListBillScenarioUsageModificationsRequest, ListBillScenarioUsageModificationsResponse, ListBillScenarioUsageModificationsError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListBillScenarioUsageModificationsRequest) => stream.Stream<ListBillScenarioUsageModificationsResponse, ListBillScenarioUsageModificationsError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListBillScenarioUsageModificationsRequest) => stream.Stream<BillScenarioUsageModificationItem, ListBillScenarioUsageModificationsError, Credentials | Region | HttpClient.HttpClient>;
};
export type BatchCreateBillScenarioUsageModificationError = ConflictException | DataUnavailableException | ResourceNotFoundException | ServiceQuotaExceededException | CommonErrors;
/**
 * Create Amazon Web Services service usage that you want to model in a Bill Scenario.
 *
 * The `BatchCreateBillScenarioUsageModification` operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission `bcm-pricing-calculator:CreateBillScenarioUsageModification` in your policies.
 */
export declare const batchCreateBillScenarioUsageModification: API.OperationMethod<BatchCreateBillScenarioUsageModificationRequest, BatchCreateBillScenarioUsageModificationResponse, BatchCreateBillScenarioUsageModificationError, Credentials | Region | HttpClient.HttpClient>;
export type BatchDeleteBillScenarioUsageModificationError = ConflictException | DataUnavailableException | ResourceNotFoundException | ServiceQuotaExceededException | CommonErrors;
/**
 * Delete usage that you have created in a Bill Scenario. You can only delete usage that you had added and cannot model deletion (or removal) of a existing usage. If you want model removal of an existing usage, see BatchUpdateBillScenarioUsageModification.
 *
 * The `BatchDeleteBillScenarioUsageModification` operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission `bcm-pricing-calculator:DeleteBillScenarioUsageModification` in your policies.
 */
export declare const batchDeleteBillScenarioUsageModification: API.OperationMethod<BatchDeleteBillScenarioUsageModificationRequest, BatchDeleteBillScenarioUsageModificationResponse, BatchDeleteBillScenarioUsageModificationError, Credentials | Region | HttpClient.HttpClient>;
export type BatchUpdateBillScenarioUsageModificationError = ConflictException | DataUnavailableException | ResourceNotFoundException | ServiceQuotaExceededException | CommonErrors;
/**
 * Update a newly added or existing usage lines. You can update the usage amounts, usage hour, and usage group based on a usage ID and a Bill scenario ID.
 *
 * The `BatchUpdateBillScenarioUsageModification` operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission `bcm-pricing-calculator:UpdateBillScenarioUsageModification` in your policies.
 */
export declare const batchUpdateBillScenarioUsageModification: API.OperationMethod<BatchUpdateBillScenarioUsageModificationRequest, BatchUpdateBillScenarioUsageModificationResponse, BatchUpdateBillScenarioUsageModificationError, Credentials | Region | HttpClient.HttpClient>;
export type CreateWorkloadEstimateError = ConflictException | DataUnavailableException | ServiceQuotaExceededException | CommonErrors;
/**
 * Creates a new workload estimate to model costs for a specific workload.
 */
export declare const createWorkloadEstimate: API.OperationMethod<CreateWorkloadEstimateRequest, CreateWorkloadEstimateResponse, CreateWorkloadEstimateError, Credentials | Region | HttpClient.HttpClient>;
export type GetWorkloadEstimateError = DataUnavailableException | ResourceNotFoundException | CommonErrors;
/**
 * Retrieves details of a specific workload estimate.
 */
export declare const getWorkloadEstimate: API.OperationMethod<GetWorkloadEstimateRequest, GetWorkloadEstimateResponse, GetWorkloadEstimateError, Credentials | Region | HttpClient.HttpClient>;
export type UpdateWorkloadEstimateError = ConflictException | DataUnavailableException | ResourceNotFoundException | CommonErrors;
/**
 * Updates an existing workload estimate.
 */
export declare const updateWorkloadEstimate: API.OperationMethod<UpdateWorkloadEstimateRequest, UpdateWorkloadEstimateResponse, UpdateWorkloadEstimateError, Credentials | Region | HttpClient.HttpClient>;
export type DeleteWorkloadEstimateError = DataUnavailableException | CommonErrors;
/**
 * Deletes an existing workload estimate.
 */
export declare const deleteWorkloadEstimate: API.OperationMethod<DeleteWorkloadEstimateRequest, DeleteWorkloadEstimateResponse, DeleteWorkloadEstimateError, Credentials | Region | HttpClient.HttpClient>;
export type ListWorkloadEstimatesError = DataUnavailableException | CommonErrors;
/**
 * Lists all workload estimates for the account.
 */
export declare const listWorkloadEstimates: API.OperationMethod<ListWorkloadEstimatesRequest, ListWorkloadEstimatesResponse, ListWorkloadEstimatesError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListWorkloadEstimatesRequest) => stream.Stream<ListWorkloadEstimatesResponse, ListWorkloadEstimatesError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListWorkloadEstimatesRequest) => stream.Stream<WorkloadEstimateSummary, ListWorkloadEstimatesError, Credentials | Region | HttpClient.HttpClient>;
};
export type ListWorkloadEstimateUsageError = DataUnavailableException | ResourceNotFoundException | CommonErrors;
/**
 * Lists the usage associated with a workload estimate.
 */
export declare const listWorkloadEstimateUsage: API.OperationMethod<ListWorkloadEstimateUsageRequest, ListWorkloadEstimateUsageResponse, ListWorkloadEstimateUsageError, Credentials | Region | HttpClient.HttpClient> & {
    pages: (input: ListWorkloadEstimateUsageRequest) => stream.Stream<ListWorkloadEstimateUsageResponse, ListWorkloadEstimateUsageError, Credentials | Region | HttpClient.HttpClient>;
    items: (input: ListWorkloadEstimateUsageRequest) => stream.Stream<WorkloadEstimateUsageItem, ListWorkloadEstimateUsageError, Credentials | Region | HttpClient.HttpClient>;
};
export type BatchCreateWorkloadEstimateUsageError = ConflictException | DataUnavailableException | ResourceNotFoundException | ServiceQuotaExceededException | CommonErrors;
/**
 * Create Amazon Web Services service usage that you want to model in a Workload Estimate.
 *
 * The `BatchCreateWorkloadEstimateUsage` operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission `bcm-pricing-calculator:CreateWorkloadEstimateUsage` in your policies.
 */
export declare const batchCreateWorkloadEstimateUsage: API.OperationMethod<BatchCreateWorkloadEstimateUsageRequest, BatchCreateWorkloadEstimateUsageResponse, BatchCreateWorkloadEstimateUsageError, Credentials | Region | HttpClient.HttpClient>;
export type BatchDeleteWorkloadEstimateUsageError = DataUnavailableException | ResourceNotFoundException | ServiceQuotaExceededException | CommonErrors;
/**
 * Delete usage that you have created in a Workload estimate. You can only delete usage that you had added and cannot model deletion (or removal) of a existing usage. If you want model removal of an existing usage, see BatchUpdateWorkloadEstimateUsage.
 *
 * The `BatchDeleteWorkloadEstimateUsage` operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission `bcm-pricing-calculator:DeleteWorkloadEstimateUsage` in your policies.
 */
export declare const batchDeleteWorkloadEstimateUsage: API.OperationMethod<BatchDeleteWorkloadEstimateUsageRequest, BatchDeleteWorkloadEstimateUsageResponse, BatchDeleteWorkloadEstimateUsageError, Credentials | Region | HttpClient.HttpClient>;
export type BatchUpdateWorkloadEstimateUsageError = DataUnavailableException | ResourceNotFoundException | ServiceQuotaExceededException | CommonErrors;
/**
 * Update a newly added or existing usage lines. You can update the usage amounts and usage group based on a usage ID and a Workload estimate ID.
 *
 * The `BatchUpdateWorkloadEstimateUsage` operation doesn't have its own IAM permission. To authorize this operation for Amazon Web Services principals, include the permission `bcm-pricing-calculator:UpdateWorkloadEstimateUsage` in your policies.
 */
export declare const batchUpdateWorkloadEstimateUsage: API.OperationMethod<BatchUpdateWorkloadEstimateUsageRequest, BatchUpdateWorkloadEstimateUsageResponse, BatchUpdateWorkloadEstimateUsageError, Credentials | Region | HttpClient.HttpClient>;
export {};
//# sourceMappingURL=bcm-pricing-calculator.d.ts.map