import { BaseAPIRequestFactory } from "../../datadog-api-client-common/baseapi";
import { Configuration } from "../../datadog-api-client-common/configuration";
import { RequestContext, ResponseContext } from "../../datadog-api-client-common/http/http";
import { ArbitraryCostUpsertRequest } from "../models/ArbitraryCostUpsertRequest";
import { ArbitraryRuleResponse } from "../models/ArbitraryRuleResponse";
import { ArbitraryRuleResponseArray } from "../models/ArbitraryRuleResponseArray";
import { ArbitraryRuleStatusResponseArray } from "../models/ArbitraryRuleStatusResponseArray";
import { AwsCURConfigPatchRequest } from "../models/AwsCURConfigPatchRequest";
import { AwsCURConfigPostRequest } from "../models/AwsCURConfigPostRequest";
import { AwsCurConfigResponse } from "../models/AwsCurConfigResponse";
import { AwsCURConfigsResponse } from "../models/AwsCURConfigsResponse";
import { AzureUCConfigPairsResponse } from "../models/AzureUCConfigPairsResponse";
import { AzureUCConfigPatchRequest } from "../models/AzureUCConfigPatchRequest";
import { AzureUCConfigPostRequest } from "../models/AzureUCConfigPostRequest";
import { AzureUCConfigsResponse } from "../models/AzureUCConfigsResponse";
import { BudgetArray } from "../models/BudgetArray";
import { BudgetValidationRequest } from "../models/BudgetValidationRequest";
import { BudgetValidationResponse } from "../models/BudgetValidationResponse";
import { BudgetWithEntries } from "../models/BudgetWithEntries";
import { CommitmentsCommitmentType } from "../models/CommitmentsCommitmentType";
import { CommitmentsCoverageScalarResponse } from "../models/CommitmentsCoverageScalarResponse";
import { CommitmentsCoverageTimeseriesResponse } from "../models/CommitmentsCoverageTimeseriesResponse";
import { CommitmentsListResponse } from "../models/CommitmentsListResponse";
import { CommitmentsOnDemandHotspotsScalarResponse } from "../models/CommitmentsOnDemandHotspotsScalarResponse";
import { CommitmentsProvider } from "../models/CommitmentsProvider";
import { CommitmentsSavingsScalarResponse } from "../models/CommitmentsSavingsScalarResponse";
import { CommitmentsSavingsTimeseriesResponse } from "../models/CommitmentsSavingsTimeseriesResponse";
import { CommitmentsUtilizationScalarResponse } from "../models/CommitmentsUtilizationScalarResponse";
import { CommitmentsUtilizationTimeseriesResponse } from "../models/CommitmentsUtilizationTimeseriesResponse";
import { CostAnomaliesResponse } from "../models/CostAnomaliesResponse";
import { CostAnomalyResponse } from "../models/CostAnomalyResponse";
import { CostCurrencyResponse } from "../models/CostCurrencyResponse";
import { CostMetricsResponse } from "../models/CostMetricsResponse";
import { CostOrchestratorsResponse } from "../models/CostOrchestratorsResponse";
import { CostRecommendationArray } from "../models/CostRecommendationArray";
import { CostTagDescriptionResponse } from "../models/CostTagDescriptionResponse";
import { CostTagDescriptionsResponse } from "../models/CostTagDescriptionsResponse";
import { CostTagDescriptionUpsertRequest } from "../models/CostTagDescriptionUpsertRequest";
import { CostTagKeyMetadataResponse } from "../models/CostTagKeyMetadataResponse";
import { CostTagKeyResponse } from "../models/CostTagKeyResponse";
import { CostTagKeySourcesResponse } from "../models/CostTagKeySourcesResponse";
import { CostTagKeysResponse } from "../models/CostTagKeysResponse";
import { CostTagMetadataDailyFilter } from "../models/CostTagMetadataDailyFilter";
import { CostTagMetadataMonthsResponse } from "../models/CostTagMetadataMonthsResponse";
import { CostTagsResponse } from "../models/CostTagsResponse";
import { CreateRulesetRequest } from "../models/CreateRulesetRequest";
import { CustomCostsFileGetResponse } from "../models/CustomCostsFileGetResponse";
import { CustomCostsFileLineItem } from "../models/CustomCostsFileLineItem";
import { CustomCostsFileListResponse } from "../models/CustomCostsFileListResponse";
import { CustomCostsFileUploadResponse } from "../models/CustomCostsFileUploadResponse";
import { CustomForecastResponse } from "../models/CustomForecastResponse";
import { CustomForecastUpsertRequest } from "../models/CustomForecastUpsertRequest";
import { GcpUcConfigResponse } from "../models/GcpUcConfigResponse";
import { GCPUsageCostConfigPatchRequest } from "../models/GCPUsageCostConfigPatchRequest";
import { GCPUsageCostConfigPostRequest } from "../models/GCPUsageCostConfigPostRequest";
import { GCPUsageCostConfigResponse } from "../models/GCPUsageCostConfigResponse";
import { GCPUsageCostConfigsResponse } from "../models/GCPUsageCostConfigsResponse";
import { GenerateCostTagDescriptionResponse } from "../models/GenerateCostTagDescriptionResponse";
import { OCIConfigsResponse } from "../models/OCIConfigsResponse";
import { RecommendationsFilterRequest } from "../models/RecommendationsFilterRequest";
import { ReorderRuleResourceArray } from "../models/ReorderRuleResourceArray";
import { ReorderRulesetResourceArray } from "../models/ReorderRulesetResourceArray";
import { RulesetResp } from "../models/RulesetResp";
import { RulesetRespArray } from "../models/RulesetRespArray";
import { RulesetStatusRespArray } from "../models/RulesetStatusRespArray";
import { RulesValidateQueryRequest } from "../models/RulesValidateQueryRequest";
import { RulesValidateQueryResponse } from "../models/RulesValidateQueryResponse";
import { UCConfigPair } from "../models/UCConfigPair";
import { UpdateRulesetRequest } from "../models/UpdateRulesetRequest";
import { ValidationResponse } from "../models/ValidationResponse";
export declare class CloudCostManagementApiRequestFactory extends BaseAPIRequestFactory {
    createCostAWSCURConfig(body: AwsCURConfigPostRequest, _options?: Configuration): Promise<RequestContext>;
    createCostAzureUCConfigs(body: AzureUCConfigPostRequest, _options?: Configuration): Promise<RequestContext>;
    createCostGCPUsageCostConfig(body: GCPUsageCostConfigPostRequest, _options?: Configuration): Promise<RequestContext>;
    createCustomAllocationRule(body: ArbitraryCostUpsertRequest, _options?: Configuration): Promise<RequestContext>;
    createTagPipelinesRuleset(body: CreateRulesetRequest, _options?: Configuration): Promise<RequestContext>;
    deleteBudget(budgetId: string, _options?: Configuration): Promise<RequestContext>;
    deleteCostAWSCURConfig(cloudAccountId: number, _options?: Configuration): Promise<RequestContext>;
    deleteCostAzureUCConfig(cloudAccountId: number, _options?: Configuration): Promise<RequestContext>;
    deleteCostGCPUsageCostConfig(cloudAccountId: number, _options?: Configuration): Promise<RequestContext>;
    deleteCostTagDescriptionByKey(tagKey: string, cloud?: string, _options?: Configuration): Promise<RequestContext>;
    deleteCustomAllocationRule(ruleId: number, _options?: Configuration): Promise<RequestContext>;
    deleteCustomCostsFile(fileId: string, _options?: Configuration): Promise<RequestContext>;
    deleteCustomForecast(budgetId: string, _options?: Configuration): Promise<RequestContext>;
    deleteTagPipelinesRuleset(rulesetId: string, _options?: Configuration): Promise<RequestContext>;
    generateCostTagDescriptionByKey(tagKey: string, _options?: Configuration): Promise<RequestContext>;
    getBudget(budgetId: string, actual?: boolean, forecast?: boolean, start?: number, end?: number, _options?: Configuration): Promise<RequestContext>;
    getCommitmentsCommitmentList(provider: CommitmentsProvider, product: string, start: number, end: number, filterBy?: string, commitmentType?: CommitmentsCommitmentType, _options?: Configuration): Promise<RequestContext>;
    getCommitmentsCoverageScalar(provider: CommitmentsProvider, product: string, start: number, end: number, filterBy?: string, _options?: Configuration): Promise<RequestContext>;
    getCommitmentsCoverageTimeseries(provider: CommitmentsProvider, product: string, start: number, end: number, filterBy?: string, _options?: Configuration): Promise<RequestContext>;
    getCommitmentsOnDemandHotspotsScalar(provider: CommitmentsProvider, product: string, start: number, end: number, filterBy?: string, _options?: Configuration): Promise<RequestContext>;
    getCommitmentsSavingsScalar(provider: CommitmentsProvider, product: string, start: number, end: number, filterBy?: string, _options?: Configuration): Promise<RequestContext>;
    getCommitmentsSavingsTimeseries(provider: CommitmentsProvider, product: string, start: number, end: number, filterBy?: string, _options?: Configuration): Promise<RequestContext>;
    getCommitmentsUtilizationScalar(provider: CommitmentsProvider, product: string, start: number, end: number, filterBy?: string, commitmentType?: CommitmentsCommitmentType, _options?: Configuration): Promise<RequestContext>;
    getCommitmentsUtilizationTimeseries(provider: CommitmentsProvider, product: string, start: number, end: number, filterBy?: string, commitmentType?: CommitmentsCommitmentType, _options?: Configuration): Promise<RequestContext>;
    getCostAnomaly(anomalyId: string, _options?: Configuration): Promise<RequestContext>;
    getCostAWSCURConfig(cloudAccountId: number, _options?: Configuration): Promise<RequestContext>;
    getCostAzureUCConfig(cloudAccountId: number, _options?: Configuration): Promise<RequestContext>;
    getCostGCPUsageCostConfig(cloudAccountId: number, _options?: Configuration): Promise<RequestContext>;
    getCostTagDescriptionByKey(tagKey: string, filterCloud?: string, _options?: Configuration): Promise<RequestContext>;
    getCostTagKey(tagKey: string, filterMetric?: string, pageSize?: number, _options?: Configuration): Promise<RequestContext>;
    getCostTagMetadataCurrency(filterMonth: string, filterProvider?: string, _options?: Configuration): Promise<RequestContext>;
    getCustomAllocationRule(ruleId: number, _options?: Configuration): Promise<RequestContext>;
    getCustomCostsFile(fileId: string, _options?: Configuration): Promise<RequestContext>;
    getTagPipelinesRuleset(rulesetId: string, _options?: Configuration): Promise<RequestContext>;
    listBudgets(_options?: Configuration): Promise<RequestContext>;
    listCostAnomalies(start?: number, end?: number, filter?: string, minAnomalousThreshold?: string, minCostThreshold?: string, dismissalCause?: string, orderBy?: string, order?: string, limit?: number, offset?: number, providerIds?: Array<string>, _options?: Configuration): Promise<RequestContext>;
    listCostAWSCURConfigs(_options?: Configuration): Promise<RequestContext>;
    listCostAzureUCConfigs(_options?: Configuration): Promise<RequestContext>;
    listCostGCPUsageCostConfigs(_options?: Configuration): Promise<RequestContext>;
    listCostOCIConfigs(_options?: Configuration): Promise<RequestContext>;
    listCostTagDescriptions(filterCloud?: string, _options?: Configuration): Promise<RequestContext>;
    listCostTagKeys(filterMetric?: string, filterTags?: Array<string>, _options?: Configuration): Promise<RequestContext>;
    listCostTagKeySources(filterMonth: string, filterProvider?: string, filterMetric?: string, _options?: Configuration): Promise<RequestContext>;
    listCostTagMetadata(filterMonth: string, filterProvider?: string, filterMetric?: string, filterTagKey?: string, filterDaily?: CostTagMetadataDailyFilter, _options?: Configuration): Promise<RequestContext>;
    listCostTagMetadataMetrics(filterMonth: string, filterProvider?: string, _options?: Configuration): Promise<RequestContext>;
    listCostTagMetadataMonths(filterProvider: string, _options?: Configuration): Promise<RequestContext>;
    listCostTagMetadataOrchestrators(filterMonth: string, filterProvider?: string, _options?: Configuration): Promise<RequestContext>;
    listCostTags(filterMetric?: string, filterMatch?: string, filterTags?: Array<string>, filterTagKeys?: Array<string>, pageSize?: number, _options?: Configuration): Promise<RequestContext>;
    listCustomAllocationRules(_options?: Configuration): Promise<RequestContext>;
    listCustomAllocationRulesStatus(_options?: Configuration): Promise<RequestContext>;
    listCustomCostsFiles(pageNumber?: number, pageSize?: number, filterStatus?: string, filterName?: string, filterProvider?: Array<string>, sort?: string, _options?: Configuration): Promise<RequestContext>;
    listTagPipelinesRulesets(_options?: Configuration): Promise<RequestContext>;
    listTagPipelinesRulesetsStatus(_options?: Configuration): Promise<RequestContext>;
    reorderCustomAllocationRules(body: ReorderRuleResourceArray, _options?: Configuration): Promise<RequestContext>;
    reorderTagPipelinesRulesets(body: ReorderRulesetResourceArray, _options?: Configuration): Promise<RequestContext>;
    searchCostRecommendations(body: RecommendationsFilterRequest, pageSize?: string, pageToken?: string, _options?: Configuration): Promise<RequestContext>;
    updateCostAWSCURConfig(cloudAccountId: number, body: AwsCURConfigPatchRequest, _options?: Configuration): Promise<RequestContext>;
    updateCostAzureUCConfigs(cloudAccountId: number, body: AzureUCConfigPatchRequest, _options?: Configuration): Promise<RequestContext>;
    updateCostGCPUsageCostConfig(cloudAccountId: number, body: GCPUsageCostConfigPatchRequest, _options?: Configuration): Promise<RequestContext>;
    updateCustomAllocationRule(ruleId: number, body: ArbitraryCostUpsertRequest, _options?: Configuration): Promise<RequestContext>;
    updateTagPipelinesRuleset(rulesetId: string, body: UpdateRulesetRequest, _options?: Configuration): Promise<RequestContext>;
    uploadCustomCostsFile(body: Array<CustomCostsFileLineItem>, _options?: Configuration): Promise<RequestContext>;
    upsertBudget(body: BudgetWithEntries, _options?: Configuration): Promise<RequestContext>;
    upsertCostTagDescriptionByKey(tagKey: string, body: CostTagDescriptionUpsertRequest, _options?: Configuration): Promise<RequestContext>;
    upsertCustomForecast(body: CustomForecastUpsertRequest, _options?: Configuration): Promise<RequestContext>;
    validateBudget(body: BudgetValidationRequest, _options?: Configuration): Promise<RequestContext>;
    validateCsvBudget(_options?: Configuration): Promise<RequestContext>;
    validateQuery(body: RulesValidateQueryRequest, _options?: Configuration): Promise<RequestContext>;
}
export declare class CloudCostManagementApiResponseProcessor {
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to createCostAWSCURConfig
     * @throws ApiException if the response code was not in [200, 299]
     */
    createCostAWSCURConfig(response: ResponseContext): Promise<AwsCurConfigResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to createCostAzureUCConfigs
     * @throws ApiException if the response code was not in [200, 299]
     */
    createCostAzureUCConfigs(response: ResponseContext): Promise<AzureUCConfigPairsResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to createCostGCPUsageCostConfig
     * @throws ApiException if the response code was not in [200, 299]
     */
    createCostGCPUsageCostConfig(response: ResponseContext): Promise<GCPUsageCostConfigResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to createCustomAllocationRule
     * @throws ApiException if the response code was not in [200, 299]
     */
    createCustomAllocationRule(response: ResponseContext): Promise<ArbitraryRuleResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to createTagPipelinesRuleset
     * @throws ApiException if the response code was not in [200, 299]
     */
    createTagPipelinesRuleset(response: ResponseContext): Promise<RulesetResp>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to deleteBudget
     * @throws ApiException if the response code was not in [200, 299]
     */
    deleteBudget(response: ResponseContext): Promise<void>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to deleteCostAWSCURConfig
     * @throws ApiException if the response code was not in [200, 299]
     */
    deleteCostAWSCURConfig(response: ResponseContext): Promise<void>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to deleteCostAzureUCConfig
     * @throws ApiException if the response code was not in [200, 299]
     */
    deleteCostAzureUCConfig(response: ResponseContext): Promise<void>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to deleteCostGCPUsageCostConfig
     * @throws ApiException if the response code was not in [200, 299]
     */
    deleteCostGCPUsageCostConfig(response: ResponseContext): Promise<void>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to deleteCostTagDescriptionByKey
     * @throws ApiException if the response code was not in [200, 299]
     */
    deleteCostTagDescriptionByKey(response: ResponseContext): Promise<void>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to deleteCustomAllocationRule
     * @throws ApiException if the response code was not in [200, 299]
     */
    deleteCustomAllocationRule(response: ResponseContext): Promise<void>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to deleteCustomCostsFile
     * @throws ApiException if the response code was not in [200, 299]
     */
    deleteCustomCostsFile(response: ResponseContext): Promise<void>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to deleteCustomForecast
     * @throws ApiException if the response code was not in [200, 299]
     */
    deleteCustomForecast(response: ResponseContext): Promise<void>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to deleteTagPipelinesRuleset
     * @throws ApiException if the response code was not in [200, 299]
     */
    deleteTagPipelinesRuleset(response: ResponseContext): Promise<void>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to generateCostTagDescriptionByKey
     * @throws ApiException if the response code was not in [200, 299]
     */
    generateCostTagDescriptionByKey(response: ResponseContext): Promise<GenerateCostTagDescriptionResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getBudget
     * @throws ApiException if the response code was not in [200, 299]
     */
    getBudget(response: ResponseContext): Promise<BudgetWithEntries>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getCommitmentsCommitmentList
     * @throws ApiException if the response code was not in [200, 299]
     */
    getCommitmentsCommitmentList(response: ResponseContext): Promise<CommitmentsListResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getCommitmentsCoverageScalar
     * @throws ApiException if the response code was not in [200, 299]
     */
    getCommitmentsCoverageScalar(response: ResponseContext): Promise<CommitmentsCoverageScalarResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getCommitmentsCoverageTimeseries
     * @throws ApiException if the response code was not in [200, 299]
     */
    getCommitmentsCoverageTimeseries(response: ResponseContext): Promise<CommitmentsCoverageTimeseriesResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getCommitmentsOnDemandHotspotsScalar
     * @throws ApiException if the response code was not in [200, 299]
     */
    getCommitmentsOnDemandHotspotsScalar(response: ResponseContext): Promise<CommitmentsOnDemandHotspotsScalarResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getCommitmentsSavingsScalar
     * @throws ApiException if the response code was not in [200, 299]
     */
    getCommitmentsSavingsScalar(response: ResponseContext): Promise<CommitmentsSavingsScalarResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getCommitmentsSavingsTimeseries
     * @throws ApiException if the response code was not in [200, 299]
     */
    getCommitmentsSavingsTimeseries(response: ResponseContext): Promise<CommitmentsSavingsTimeseriesResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getCommitmentsUtilizationScalar
     * @throws ApiException if the response code was not in [200, 299]
     */
    getCommitmentsUtilizationScalar(response: ResponseContext): Promise<CommitmentsUtilizationScalarResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getCommitmentsUtilizationTimeseries
     * @throws ApiException if the response code was not in [200, 299]
     */
    getCommitmentsUtilizationTimeseries(response: ResponseContext): Promise<CommitmentsUtilizationTimeseriesResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getCostAnomaly
     * @throws ApiException if the response code was not in [200, 299]
     */
    getCostAnomaly(response: ResponseContext): Promise<CostAnomalyResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getCostAWSCURConfig
     * @throws ApiException if the response code was not in [200, 299]
     */
    getCostAWSCURConfig(response: ResponseContext): Promise<AwsCurConfigResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getCostAzureUCConfig
     * @throws ApiException if the response code was not in [200, 299]
     */
    getCostAzureUCConfig(response: ResponseContext): Promise<UCConfigPair>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getCostGCPUsageCostConfig
     * @throws ApiException if the response code was not in [200, 299]
     */
    getCostGCPUsageCostConfig(response: ResponseContext): Promise<GcpUcConfigResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getCostTagDescriptionByKey
     * @throws ApiException if the response code was not in [200, 299]
     */
    getCostTagDescriptionByKey(response: ResponseContext): Promise<CostTagDescriptionResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getCostTagKey
     * @throws ApiException if the response code was not in [200, 299]
     */
    getCostTagKey(response: ResponseContext): Promise<CostTagKeyResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getCostTagMetadataCurrency
     * @throws ApiException if the response code was not in [200, 299]
     */
    getCostTagMetadataCurrency(response: ResponseContext): Promise<CostCurrencyResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getCustomAllocationRule
     * @throws ApiException if the response code was not in [200, 299]
     */
    getCustomAllocationRule(response: ResponseContext): Promise<ArbitraryRuleResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getCustomCostsFile
     * @throws ApiException if the response code was not in [200, 299]
     */
    getCustomCostsFile(response: ResponseContext): Promise<CustomCostsFileGetResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to getTagPipelinesRuleset
     * @throws ApiException if the response code was not in [200, 299]
     */
    getTagPipelinesRuleset(response: ResponseContext): Promise<RulesetResp>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listBudgets
     * @throws ApiException if the response code was not in [200, 299]
     */
    listBudgets(response: ResponseContext): Promise<BudgetArray>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listCostAnomalies
     * @throws ApiException if the response code was not in [200, 299]
     */
    listCostAnomalies(response: ResponseContext): Promise<CostAnomaliesResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listCostAWSCURConfigs
     * @throws ApiException if the response code was not in [200, 299]
     */
    listCostAWSCURConfigs(response: ResponseContext): Promise<AwsCURConfigsResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listCostAzureUCConfigs
     * @throws ApiException if the response code was not in [200, 299]
     */
    listCostAzureUCConfigs(response: ResponseContext): Promise<AzureUCConfigsResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listCostGCPUsageCostConfigs
     * @throws ApiException if the response code was not in [200, 299]
     */
    listCostGCPUsageCostConfigs(response: ResponseContext): Promise<GCPUsageCostConfigsResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listCostOCIConfigs
     * @throws ApiException if the response code was not in [200, 299]
     */
    listCostOCIConfigs(response: ResponseContext): Promise<OCIConfigsResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listCostTagDescriptions
     * @throws ApiException if the response code was not in [200, 299]
     */
    listCostTagDescriptions(response: ResponseContext): Promise<CostTagDescriptionsResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listCostTagKeys
     * @throws ApiException if the response code was not in [200, 299]
     */
    listCostTagKeys(response: ResponseContext): Promise<CostTagKeysResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listCostTagKeySources
     * @throws ApiException if the response code was not in [200, 299]
     */
    listCostTagKeySources(response: ResponseContext): Promise<CostTagKeySourcesResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listCostTagMetadata
     * @throws ApiException if the response code was not in [200, 299]
     */
    listCostTagMetadata(response: ResponseContext): Promise<CostTagKeyMetadataResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listCostTagMetadataMetrics
     * @throws ApiException if the response code was not in [200, 299]
     */
    listCostTagMetadataMetrics(response: ResponseContext): Promise<CostMetricsResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listCostTagMetadataMonths
     * @throws ApiException if the response code was not in [200, 299]
     */
    listCostTagMetadataMonths(response: ResponseContext): Promise<CostTagMetadataMonthsResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listCostTagMetadataOrchestrators
     * @throws ApiException if the response code was not in [200, 299]
     */
    listCostTagMetadataOrchestrators(response: ResponseContext): Promise<CostOrchestratorsResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listCostTags
     * @throws ApiException if the response code was not in [200, 299]
     */
    listCostTags(response: ResponseContext): Promise<CostTagsResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listCustomAllocationRules
     * @throws ApiException if the response code was not in [200, 299]
     */
    listCustomAllocationRules(response: ResponseContext): Promise<ArbitraryRuleResponseArray>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listCustomAllocationRulesStatus
     * @throws ApiException if the response code was not in [200, 299]
     */
    listCustomAllocationRulesStatus(response: ResponseContext): Promise<ArbitraryRuleStatusResponseArray>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listCustomCostsFiles
     * @throws ApiException if the response code was not in [200, 299]
     */
    listCustomCostsFiles(response: ResponseContext): Promise<CustomCostsFileListResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listTagPipelinesRulesets
     * @throws ApiException if the response code was not in [200, 299]
     */
    listTagPipelinesRulesets(response: ResponseContext): Promise<RulesetRespArray>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to listTagPipelinesRulesetsStatus
     * @throws ApiException if the response code was not in [200, 299]
     */
    listTagPipelinesRulesetsStatus(response: ResponseContext): Promise<RulesetStatusRespArray>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to reorderCustomAllocationRules
     * @throws ApiException if the response code was not in [200, 299]
     */
    reorderCustomAllocationRules(response: ResponseContext): Promise<void>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to reorderTagPipelinesRulesets
     * @throws ApiException if the response code was not in [200, 299]
     */
    reorderTagPipelinesRulesets(response: ResponseContext): Promise<void>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to searchCostRecommendations
     * @throws ApiException if the response code was not in [200, 299]
     */
    searchCostRecommendations(response: ResponseContext): Promise<CostRecommendationArray>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to updateCostAWSCURConfig
     * @throws ApiException if the response code was not in [200, 299]
     */
    updateCostAWSCURConfig(response: ResponseContext): Promise<AwsCURConfigsResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to updateCostAzureUCConfigs
     * @throws ApiException if the response code was not in [200, 299]
     */
    updateCostAzureUCConfigs(response: ResponseContext): Promise<AzureUCConfigPairsResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to updateCostGCPUsageCostConfig
     * @throws ApiException if the response code was not in [200, 299]
     */
    updateCostGCPUsageCostConfig(response: ResponseContext): Promise<GCPUsageCostConfigResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to updateCustomAllocationRule
     * @throws ApiException if the response code was not in [200, 299]
     */
    updateCustomAllocationRule(response: ResponseContext): Promise<ArbitraryRuleResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to updateTagPipelinesRuleset
     * @throws ApiException if the response code was not in [200, 299]
     */
    updateTagPipelinesRuleset(response: ResponseContext): Promise<RulesetResp>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to uploadCustomCostsFile
     * @throws ApiException if the response code was not in [200, 299]
     */
    uploadCustomCostsFile(response: ResponseContext): Promise<CustomCostsFileUploadResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to upsertBudget
     * @throws ApiException if the response code was not in [200, 299]
     */
    upsertBudget(response: ResponseContext): Promise<BudgetWithEntries>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to upsertCostTagDescriptionByKey
     * @throws ApiException if the response code was not in [200, 299]
     */
    upsertCostTagDescriptionByKey(response: ResponseContext): Promise<void>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to upsertCustomForecast
     * @throws ApiException if the response code was not in [200, 299]
     */
    upsertCustomForecast(response: ResponseContext): Promise<CustomForecastResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to validateBudget
     * @throws ApiException if the response code was not in [200, 299]
     */
    validateBudget(response: ResponseContext): Promise<BudgetValidationResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to validateCsvBudget
     * @throws ApiException if the response code was not in [200, 299]
     */
    validateCsvBudget(response: ResponseContext): Promise<ValidationResponse>;
    /**
     * Unwraps the actual response sent by the server from the response context and deserializes the response content
     * to the expected objects
     *
     * @params response Response returned by the server for a request to validateQuery
     * @throws ApiException if the response code was not in [200, 299]
     */
    validateQuery(response: ResponseContext): Promise<RulesValidateQueryResponse>;
}
export interface CloudCostManagementApiCreateCostAWSCURConfigRequest {
    /**
     * @type AwsCURConfigPostRequest
     */
    body: AwsCURConfigPostRequest;
}
export interface CloudCostManagementApiCreateCostAzureUCConfigsRequest {
    /**
     * @type AzureUCConfigPostRequest
     */
    body: AzureUCConfigPostRequest;
}
export interface CloudCostManagementApiCreateCostGCPUsageCostConfigRequest {
    /**
     * @type GCPUsageCostConfigPostRequest
     */
    body: GCPUsageCostConfigPostRequest;
}
export interface CloudCostManagementApiCreateCustomAllocationRuleRequest {
    /**
     * @type ArbitraryCostUpsertRequest
     */
    body: ArbitraryCostUpsertRequest;
}
export interface CloudCostManagementApiCreateTagPipelinesRulesetRequest {
    /**
     * @type CreateRulesetRequest
     */
    body: CreateRulesetRequest;
}
export interface CloudCostManagementApiDeleteBudgetRequest {
    /**
     * Budget id.
     * @type string
     */
    budgetId: string;
}
export interface CloudCostManagementApiDeleteCostAWSCURConfigRequest {
    /**
     * Cloud Account id.
     * @type number
     */
    cloudAccountId: number;
}
export interface CloudCostManagementApiDeleteCostAzureUCConfigRequest {
    /**
     * Cloud Account id.
     * @type number
     */
    cloudAccountId: number;
}
export interface CloudCostManagementApiDeleteCostGCPUsageCostConfigRequest {
    /**
     * Cloud Account id.
     * @type number
     */
    cloudAccountId: number;
}
export interface CloudCostManagementApiDeleteCostTagDescriptionByKeyRequest {
    /**
     * The tag key whose description is being deleted.
     * @type string
     */
    tagKey: string;
    /**
     * Cloud provider to scope the deletion to (for example, `aws`). Omit to delete every description for the tag key.
     * @type string
     */
    cloud?: string;
}
export interface CloudCostManagementApiDeleteCustomAllocationRuleRequest {
    /**
     * The unique identifier of the custom allocation rule
     * @type number
     */
    ruleId: number;
}
export interface CloudCostManagementApiDeleteCustomCostsFileRequest {
    /**
     * File ID.
     * @type string
     */
    fileId: string;
}
export interface CloudCostManagementApiDeleteCustomForecastRequest {
    /**
     * Budget id.
     * @type string
     */
    budgetId: string;
}
export interface CloudCostManagementApiDeleteTagPipelinesRulesetRequest {
    /**
     * The unique identifier of the ruleset
     * @type string
     */
    rulesetId: string;
}
export interface CloudCostManagementApiGenerateCostTagDescriptionByKeyRequest {
    /**
     * The tag key to generate an AI description for.
     * @type string
     */
    tagKey: string;
}
export interface CloudCostManagementApiGetBudgetRequest {
    /**
     * Budget id.
     * @type string
     */
    budgetId: string;
    /**
     * When `true`, includes actual cost data in the response.
     * @type boolean
     */
    actual?: boolean;
    /**
     * When `true`, includes forecast cost data in the response, including `ootb_forecast` and `custom_forecast` per entry.
     * @type boolean
     */
    forecast?: boolean;
    /**
     * Start of the cost window in milliseconds since epoch. Must be used together with `end`.
     * @type number
     */
    start?: number;
    /**
     * End of the cost window in milliseconds since epoch. Must be used together with `start`.
     * @type number
     */
    end?: number;
}
export interface CloudCostManagementApiGetCommitmentsCommitmentListRequest {
    /**
     * Cloud provider for commitment programs (aws or azure).
     * @type CommitmentsProvider
     */
    provider: CommitmentsProvider;
    /**
     * Cloud product identifier (for example, ec2, rds, virtualmachines).
     * @type string
     */
    product: string;
    /**
     * Start of the query time range in Unix milliseconds.
     * @type number
     */
    start: number;
    /**
     * End of the query time range in Unix milliseconds.
     * @type number
     */
    end: number;
    /**
     * Optional filter expression to narrow down results.
     * @type string
     */
    filterBy?: string;
    /**
     * Type of commitment to query. ri for Reserved Instances, sp for Savings Plans. Defaults to ri.
     * @type CommitmentsCommitmentType
     */
    commitmentType?: CommitmentsCommitmentType;
}
export interface CloudCostManagementApiGetCommitmentsCoverageScalarRequest {
    /**
     * Cloud provider for commitment programs (aws or azure).
     * @type CommitmentsProvider
     */
    provider: CommitmentsProvider;
    /**
     * Cloud product identifier (for example, ec2, rds, virtualmachines).
     * @type string
     */
    product: string;
    /**
     * Start of the query time range in Unix milliseconds.
     * @type number
     */
    start: number;
    /**
     * End of the query time range in Unix milliseconds.
     * @type number
     */
    end: number;
    /**
     * Optional filter expression to narrow down results.
     * @type string
     */
    filterBy?: string;
}
export interface CloudCostManagementApiGetCommitmentsCoverageTimeseriesRequest {
    /**
     * Cloud provider for commitment programs (aws or azure).
     * @type CommitmentsProvider
     */
    provider: CommitmentsProvider;
    /**
     * Cloud product identifier (for example, ec2, rds, virtualmachines).
     * @type string
     */
    product: string;
    /**
     * Start of the query time range in Unix milliseconds.
     * @type number
     */
    start: number;
    /**
     * End of the query time range in Unix milliseconds.
     * @type number
     */
    end: number;
    /**
     * Optional filter expression to narrow down results.
     * @type string
     */
    filterBy?: string;
}
export interface CloudCostManagementApiGetCommitmentsOnDemandHotspotsScalarRequest {
    /**
     * Cloud provider for commitment programs (aws or azure).
     * @type CommitmentsProvider
     */
    provider: CommitmentsProvider;
    /**
     * Cloud product identifier (for example, ec2, rds, virtualmachines).
     * @type string
     */
    product: string;
    /**
     * Start of the query time range in Unix milliseconds.
     * @type number
     */
    start: number;
    /**
     * End of the query time range in Unix milliseconds.
     * @type number
     */
    end: number;
    /**
     * Optional filter expression to narrow down results.
     * @type string
     */
    filterBy?: string;
}
export interface CloudCostManagementApiGetCommitmentsSavingsScalarRequest {
    /**
     * Cloud provider for commitment programs (aws or azure).
     * @type CommitmentsProvider
     */
    provider: CommitmentsProvider;
    /**
     * Cloud product identifier (for example, ec2, rds, virtualmachines).
     * @type string
     */
    product: string;
    /**
     * Start of the query time range in Unix milliseconds.
     * @type number
     */
    start: number;
    /**
     * End of the query time range in Unix milliseconds.
     * @type number
     */
    end: number;
    /**
     * Optional filter expression to narrow down results.
     * @type string
     */
    filterBy?: string;
}
export interface CloudCostManagementApiGetCommitmentsSavingsTimeseriesRequest {
    /**
     * Cloud provider for commitment programs (aws or azure).
     * @type CommitmentsProvider
     */
    provider: CommitmentsProvider;
    /**
     * Cloud product identifier (for example, ec2, rds, virtualmachines).
     * @type string
     */
    product: string;
    /**
     * Start of the query time range in Unix milliseconds.
     * @type number
     */
    start: number;
    /**
     * End of the query time range in Unix milliseconds.
     * @type number
     */
    end: number;
    /**
     * Optional filter expression to narrow down results.
     * @type string
     */
    filterBy?: string;
}
export interface CloudCostManagementApiGetCommitmentsUtilizationScalarRequest {
    /**
     * Cloud provider for commitment programs (aws or azure).
     * @type CommitmentsProvider
     */
    provider: CommitmentsProvider;
    /**
     * Cloud product identifier (for example, ec2, rds, virtualmachines).
     * @type string
     */
    product: string;
    /**
     * Start of the query time range in Unix milliseconds.
     * @type number
     */
    start: number;
    /**
     * End of the query time range in Unix milliseconds.
     * @type number
     */
    end: number;
    /**
     * Optional filter expression to narrow down results.
     * @type string
     */
    filterBy?: string;
    /**
     * Type of commitment to query. ri for Reserved Instances, sp for Savings Plans. Defaults to ri.
     * @type CommitmentsCommitmentType
     */
    commitmentType?: CommitmentsCommitmentType;
}
export interface CloudCostManagementApiGetCommitmentsUtilizationTimeseriesRequest {
    /**
     * Cloud provider for commitment programs (aws or azure).
     * @type CommitmentsProvider
     */
    provider: CommitmentsProvider;
    /**
     * Cloud product identifier (for example, ec2, rds, virtualmachines).
     * @type string
     */
    product: string;
    /**
     * Start of the query time range in Unix milliseconds.
     * @type number
     */
    start: number;
    /**
     * End of the query time range in Unix milliseconds.
     * @type number
     */
    end: number;
    /**
     * Optional filter expression to narrow down results.
     * @type string
     */
    filterBy?: string;
    /**
     * Type of commitment to query. ri for Reserved Instances, sp for Savings Plans. Defaults to ri.
     * @type CommitmentsCommitmentType
     */
    commitmentType?: CommitmentsCommitmentType;
}
export interface CloudCostManagementApiGetCostAnomalyRequest {
    /**
     * The UUID of the cost anomaly.
     * @type string
     */
    anomalyId: string;
}
export interface CloudCostManagementApiGetCostAWSCURConfigRequest {
    /**
     * The unique identifier of the cloud account
     * @type number
     */
    cloudAccountId: number;
}
export interface CloudCostManagementApiGetCostAzureUCConfigRequest {
    /**
     * The unique identifier of the cloud account
     * @type number
     */
    cloudAccountId: number;
}
export interface CloudCostManagementApiGetCostGCPUsageCostConfigRequest {
    /**
     * The unique identifier of the cloud account
     * @type number
     */
    cloudAccountId: number;
}
export interface CloudCostManagementApiGetCostTagDescriptionByKeyRequest {
    /**
     * The tag key whose description is being fetched.
     * @type string
     */
    tagKey: string;
    /**
     * Cloud provider to scope the lookup to (for example, `aws`). Omit to use the resolved fallback.
     * @type string
     */
    filterCloud?: string;
}
export interface CloudCostManagementApiGetCostTagKeyRequest {
    /**
     * The Cloud Cost Management tag key. Tag keys can contain forward slashes (for example, `kubernetes/instance`).
     * @type string
     */
    tagKey: string;
    /**
     * The Cloud Cost Management metric to scope the tag key details to. When omitted, returns details across all metrics.
     * @type string
     */
    filterMetric?: string;
    /**
     * Controls the size of the internal tag value search scope. This does **not** restrict the number of example tag values returned in the response. Defaults to 50, maximum 10000.
     * @type number
     */
    pageSize?: number;
}
export interface CloudCostManagementApiGetCostTagMetadataCurrencyRequest {
    /**
     * The month to scope the query to, in `YYYY-MM` format.
     * @type string
     */
    filterMonth: string;
    /**
     * Filter results to a specific provider. Common cloud values are `aws`, `azure`, `gcp`, `Oracle` (OCI), and `custom`. SaaS billing integrations (for example, `Snowflake`, `MongoDB`, `Databricks`) are also accepted using their display-name string. Values are case-sensitive.
     * @type string
     */
    filterProvider?: string;
}
export interface CloudCostManagementApiGetCustomAllocationRuleRequest {
    /**
     * The unique identifier of the custom allocation rule
     * @type number
     */
    ruleId: number;
}
export interface CloudCostManagementApiGetCustomCostsFileRequest {
    /**
     * File ID.
     * @type string
     */
    fileId: string;
}
export interface CloudCostManagementApiGetTagPipelinesRulesetRequest {
    /**
     * The unique identifier of the ruleset
     * @type string
     */
    rulesetId: string;
}
export interface CloudCostManagementApiListCostAnomaliesRequest {
    /**
     * Start time as Unix milliseconds. Defaults to the start of the latest stable seven-day window.
     * @type number
     */
    start?: number;
    /**
     * End time as Unix milliseconds. Defaults to the end of the latest stable seven-day window.
     * @type number
     */
    end?: number;
    /**
     * Optional JSON object mapping cost tag keys to allowed values, for example `{"team":["payments"],"env":["prod"]}`. Filters match anomaly dimensions or correlated tags.
     * @type string
     */
    filter?: string;
    /**
     * Minimum absolute anomalous cost change to include. Numeric value; defaults to `1`.
     * @type string
     */
    minAnomalousThreshold?: string;
    /**
     * Minimum absolute actual cost to include. Numeric value; defaults to `0`.
     * @type string
     */
    minCostThreshold?: string;
    /**
     * Filter by resolution state. Use `none` for unresolved anomalies, `all` or `*` for resolved anomalies, or a comma-separated list of causes.
     * @type string
     */
    dismissalCause?: string;
    /**
     * Sort field. One of `start_date`, `end_date`, `duration`, `max_cost`, `anomalous_cost`, or `dismissal_date`. Defaults to `anomalous_cost`.
     * @type string
     */
    orderBy?: string;
    /**
     * Sort direction. One of `asc` or `desc`. Defaults to `desc`.
     * @type string
     */
    order?: string;
    /**
     * Maximum number of anomalies to return. Defaults to `200`.
     * @type number
     */
    limit?: number;
    /**
     * Pagination offset. Defaults to `0`.
     * @type number
     */
    offset?: number;
    /**
     * Optional repeated cloud or SaaS provider filters, such as `aws`, `gcp`, `azure`, `Oracle`, `datadog`, `OpenAI`, or `Anthropic`.
     * @type Array<string>
     */
    providerIds?: Array<string>;
}
export interface CloudCostManagementApiListCostTagDescriptionsRequest {
    /**
     * Filter descriptions to a specific cloud provider (for example, `aws`). Omit to return descriptions across all clouds.
     * @type string
     */
    filterCloud?: string;
}
export interface CloudCostManagementApiListCostTagKeysRequest {
    /**
     * The Cloud Cost Management metric to scope the tag keys to. When omitted, returns tag keys across all metrics.
     * @type string
     */
    filterMetric?: string;
    /**
     * Filter to return only tag keys that appear with the given `key:value` tag values. For example, `filter[tags]=providername:aws` returns tag keys found on the same cost data, such as `is_aws_ec2_compute` and `aws_instance_type`.
     * @type Array<string>
     */
    filterTags?: Array<string>;
}
export interface CloudCostManagementApiListCostTagKeySourcesRequest {
    /**
     * The month to scope the query to, in `YYYY-MM` format.
     * @type string
     */
    filterMonth: string;
    /**
     * Filter results to a specific provider. Common cloud values are `aws`, `azure`, `gcp`, `Oracle` (OCI), and `custom`. SaaS billing integrations (for example, `Snowflake`, `MongoDB`, `Databricks`) are also accepted using their display-name string. Values are case-sensitive.
     * @type string
     */
    filterProvider?: string;
    /**
     * Filter results to tag keys that have data for a specific Cloud Cost Management metric (for example, `aws.cost.net.amortized`). When omitted, all tag keys for the requested period are returned.
     * @type string
     */
    filterMetric?: string;
}
export interface CloudCostManagementApiListCostTagMetadataRequest {
    /**
     * The month to scope the query to, in `YYYY-MM` format.
     * @type string
     */
    filterMonth: string;
    /**
     * Filter results to a specific provider. Common cloud values are `aws`, `azure`, `gcp`, `Oracle` (OCI), and `custom`. SaaS billing integrations (for example, `Snowflake`, `MongoDB`, `Databricks`) are also accepted using their display-name string. Values are case-sensitive.
     * @type string
     */
    filterProvider?: string;
    /**
     * Filter results to a specific Cloud Cost Management metric (for example, `aws.cost.net.amortized`). When omitted, every available metric for the requested period is returned.
     * @type string
     */
    filterMetric?: string;
    /**
     * Restrict results to a single tag key.
     * @type string
     */
    filterTagKey?: string;
    /**
     * When `true`, return one row per day with the day in the `date` attribute. Defaults to the monthly roll-up when omitted.
     * @type CostTagMetadataDailyFilter
     */
    filterDaily?: CostTagMetadataDailyFilter;
}
export interface CloudCostManagementApiListCostTagMetadataMetricsRequest {
    /**
     * The month to scope the query to, in `YYYY-MM` format.
     * @type string
     */
    filterMonth: string;
    /**
     * Filter results to a specific provider. Common cloud values are `aws`, `azure`, `gcp`, `Oracle` (OCI), and `custom`. SaaS billing integrations (for example, `Snowflake`, `MongoDB`, `Databricks`) are also accepted using their display-name string. Values are case-sensitive.
     * @type string
     */
    filterProvider?: string;
}
export interface CloudCostManagementApiListCostTagMetadataMonthsRequest {
    /**
     * Provider to scope the query to. Use the value of the `providername` tag in CCM
     * (for example, `aws`, `azure`, `gcp`, `Oracle`, `Confluent Cloud`, `Snowflake`).
     * For costs uploaded through the Custom Costs API, use `custom`.
     * Values are case-sensitive.
     * @type string
     */
    filterProvider: string;
}
export interface CloudCostManagementApiListCostTagMetadataOrchestratorsRequest {
    /**
     * The month to scope the query to, in `YYYY-MM` format.
     * @type string
     */
    filterMonth: string;
    /**
     * Filter results to a specific provider. Common cloud values are `aws`, `azure`, `gcp`, `Oracle` (OCI), and `custom`. SaaS billing integrations (for example, `Snowflake`, `MongoDB`, `Databricks`) are also accepted using their display-name string. Values are case-sensitive.
     * @type string
     */
    filterProvider?: string;
}
export interface CloudCostManagementApiListCostTagsRequest {
    /**
     * The Cloud Cost Management metric to scope the tags to. When omitted, returns tags across all metrics.
     * @type string
     */
    filterMetric?: string;
    /**
     * A substring used to filter the returned tags by name.
     * @type string
     */
    filterMatch?: string;
    /**
     * Filter to return only tags that appear with the given `key:value` tag values. For example, `filter[tags]=providername:aws` returns tags found on the same cost data, such as `aws_instance_type:t3.micro` and `aws_instance_type:m5.large`.
     * @type Array<string>
     */
    filterTags?: Array<string>;
    /**
     * Restrict the returned tags to those whose key matches one of the given tag keys.
     * @type Array<string>
     */
    filterTagKeys?: Array<string>;
    /**
     * Controls the size of the internal tag search scope. This does **not** restrict the number of tags returned in the response. Defaults to 50, maximum 10000.
     * @type number
     */
    pageSize?: number;
}
export interface CloudCostManagementApiListCustomCostsFilesRequest {
    /**
     * Page number for pagination
     * @type number
     */
    pageNumber?: number;
    /**
     * Page size for pagination
     * @type number
     */
    pageSize?: number;
    /**
     * Filter by file status
     * @type string
     */
    filterStatus?: string;
    /**
     * Filter files by name with case-insensitive substring matching.
     * @type string
     */
    filterName?: string;
    /**
     * Filter by provider.
     * @type Array<string>
     */
    filterProvider?: Array<string>;
    /**
     * Sort key with optional descending prefix
     * @type string
     */
    sort?: string;
}
export interface CloudCostManagementApiReorderCustomAllocationRulesRequest {
    /**
     * @type ReorderRuleResourceArray
     */
    body: ReorderRuleResourceArray;
}
export interface CloudCostManagementApiReorderTagPipelinesRulesetsRequest {
    /**
     * @type ReorderRulesetResourceArray
     */
    body: ReorderRulesetResourceArray;
}
export interface CloudCostManagementApiSearchCostRecommendationsRequest {
    /**
     * @type RecommendationsFilterRequest
     */
    body: RecommendationsFilterRequest;
    /**
     * Number of results per page (1–10000).
     * @type string
     */
    pageSize?: string;
    /**
     * Pagination token from a previous response.
     * @type string
     */
    pageToken?: string;
}
export interface CloudCostManagementApiUpdateCostAWSCURConfigRequest {
    /**
     * Cloud Account id.
     * @type number
     */
    cloudAccountId: number;
    /**
     * @type AwsCURConfigPatchRequest
     */
    body: AwsCURConfigPatchRequest;
}
export interface CloudCostManagementApiUpdateCostAzureUCConfigsRequest {
    /**
     * Cloud Account id.
     * @type number
     */
    cloudAccountId: number;
    /**
     * @type AzureUCConfigPatchRequest
     */
    body: AzureUCConfigPatchRequest;
}
export interface CloudCostManagementApiUpdateCostGCPUsageCostConfigRequest {
    /**
     * Cloud Account id.
     * @type number
     */
    cloudAccountId: number;
    /**
     * @type GCPUsageCostConfigPatchRequest
     */
    body: GCPUsageCostConfigPatchRequest;
}
export interface CloudCostManagementApiUpdateCustomAllocationRuleRequest {
    /**
     * The unique identifier of the custom allocation rule
     * @type number
     */
    ruleId: number;
    /**
     * @type ArbitraryCostUpsertRequest
     */
    body: ArbitraryCostUpsertRequest;
}
export interface CloudCostManagementApiUpdateTagPipelinesRulesetRequest {
    /**
     * The unique identifier of the ruleset
     * @type string
     */
    rulesetId: string;
    /**
     * @type UpdateRulesetRequest
     */
    body: UpdateRulesetRequest;
}
export interface CloudCostManagementApiUploadCustomCostsFileRequest {
    /**
     * @type Array<CustomCostsFileLineItem>
     */
    body: Array<CustomCostsFileLineItem>;
}
export interface CloudCostManagementApiUpsertBudgetRequest {
    /**
     * @type BudgetWithEntries
     */
    body: BudgetWithEntries;
}
export interface CloudCostManagementApiUpsertCostTagDescriptionByKeyRequest {
    /**
     * The tag key whose description is being upserted.
     * @type string
     */
    tagKey: string;
    /**
     * @type CostTagDescriptionUpsertRequest
     */
    body: CostTagDescriptionUpsertRequest;
}
export interface CloudCostManagementApiUpsertCustomForecastRequest {
    /**
     * @type CustomForecastUpsertRequest
     */
    body: CustomForecastUpsertRequest;
}
export interface CloudCostManagementApiValidateBudgetRequest {
    /**
     * @type BudgetValidationRequest
     */
    body: BudgetValidationRequest;
}
export interface CloudCostManagementApiValidateQueryRequest {
    /**
     * @type RulesValidateQueryRequest
     */
    body: RulesValidateQueryRequest;
}
export declare class CloudCostManagementApi {
    private requestFactory;
    private responseProcessor;
    private configuration;
    constructor(configuration: Configuration, requestFactory?: CloudCostManagementApiRequestFactory, responseProcessor?: CloudCostManagementApiResponseProcessor);
    /**
     * Create a Cloud Cost Management account for an AWS CUR config.
     * @param param The request object
     */
    createCostAWSCURConfig(param: CloudCostManagementApiCreateCostAWSCURConfigRequest, options?: Configuration): Promise<AwsCurConfigResponse>;
    /**
     * Create a Cloud Cost Management account for an Azure config.
     * @param param The request object
     */
    createCostAzureUCConfigs(param: CloudCostManagementApiCreateCostAzureUCConfigsRequest, options?: Configuration): Promise<AzureUCConfigPairsResponse>;
    /**
     * Create a Cloud Cost Management account for an Google Cloud Usage Cost config.
     * @param param The request object
     */
    createCostGCPUsageCostConfig(param: CloudCostManagementApiCreateCostGCPUsageCostConfigRequest, options?: Configuration): Promise<GCPUsageCostConfigResponse>;
    /**
     * Create a new custom allocation rule with the specified filters and allocation strategy.
     *
     * **Strategy Methods:**
     * - **PROPORTIONAL/EVEN**: Allocates costs proportionally/evenly based on existing costs. Requires: granularity, allocated_by_tag_keys. Optional: based_on_costs, allocated_by_filters, evaluate_grouped_by_tag_keys, evaluate_grouped_by_filters.
     * - **PROPORTIONAL_TIMESERIES/EVEN_TIMESERIES**: Allocates based on timeseries data. Requires: granularity, based_on_timeseries. Optional: evaluate_grouped_by_tag_keys.
     * - **PERCENT**: Allocates fixed percentages to specific tags. Requires: allocated_by (array of percentage allocations).
     *
     * **Filter Conditions:**
     * - Use **value** for single-value conditions: "is", "is not", "contains", "=", "!=", "like", "not like"
     * - Use **values** for multi-value conditions: "in", "not in"
     * - Cannot use both value and values simultaneously.
     *
     * **Supported operators**: is, is not, contains, in, not in, =, !=, like, not like
     * @param param The request object
     */
    createCustomAllocationRule(param: CloudCostManagementApiCreateCustomAllocationRuleRequest, options?: Configuration): Promise<ArbitraryRuleResponse>;
    /**
     * Create a new tag pipeline ruleset with the specified rules and configuration
     * @param param The request object
     */
    createTagPipelinesRuleset(param: CloudCostManagementApiCreateTagPipelinesRulesetRequest, options?: Configuration): Promise<RulesetResp>;
    /**
     * Delete a budget
     * @param param The request object
     */
    deleteBudget(param: CloudCostManagementApiDeleteBudgetRequest, options?: Configuration): Promise<void>;
    /**
     * Archive a Cloud Cost Management Account.
     * @param param The request object
     */
    deleteCostAWSCURConfig(param: CloudCostManagementApiDeleteCostAWSCURConfigRequest, options?: Configuration): Promise<void>;
    /**
     * Archive a Cloud Cost Management Account.
     * @param param The request object
     */
    deleteCostAzureUCConfig(param: CloudCostManagementApiDeleteCostAzureUCConfigRequest, options?: Configuration): Promise<void>;
    /**
     * Archive a Cloud Cost Management account.
     * @param param The request object
     */
    deleteCostGCPUsageCostConfig(param: CloudCostManagementApiDeleteCostGCPUsageCostConfigRequest, options?: Configuration): Promise<void>;
    /**
     * Delete a Cloud Cost Management tag key description. When `cloud` is omitted, deletes every description for the tag key, falling back to Datadog's global default when available. When `cloud` is provided, deletes only the description scoped to that cloud provider.
     * @param param The request object
     */
    deleteCostTagDescriptionByKey(param: CloudCostManagementApiDeleteCostTagDescriptionByKeyRequest, options?: Configuration): Promise<void>;
    /**
     * Delete a custom allocation rule - Delete an existing custom allocation rule by its ID
     * @param param The request object
     */
    deleteCustomAllocationRule(param: CloudCostManagementApiDeleteCustomAllocationRuleRequest, options?: Configuration): Promise<void>;
    /**
     * Delete the specified Custom Costs file.
     * @param param The request object
     */
    deleteCustomCostsFile(param: CloudCostManagementApiDeleteCustomCostsFileRequest, options?: Configuration): Promise<void>;
    /**
     * Delete the custom forecast for a budget.
     * @param param The request object
     */
    deleteCustomForecast(param: CloudCostManagementApiDeleteCustomForecastRequest, options?: Configuration): Promise<void>;
    /**
     * Delete a tag pipeline ruleset - Delete an existing tag pipeline ruleset by its ID
     * @param param The request object
     */
    deleteTagPipelinesRuleset(param: CloudCostManagementApiDeleteTagPipelinesRulesetRequest, options?: Configuration): Promise<void>;
    /**
     * Use AI to draft a Cloud Cost Management tag key description based on associated cost data. The generated description is returned in the response and is not persisted by this endpoint; follow up with `UpsertCostTagDescriptionByKey` to save it.
     * @param param The request object
     */
    generateCostTagDescriptionByKey(param: CloudCostManagementApiGenerateCostTagDescriptionByKeyRequest, options?: Configuration): Promise<GenerateCostTagDescriptionResponse>;
    /**
     * Get a budget by ID. Pass `actual=true` or `forecast=true` to include cost data in the response. Use `start` and `end` (millisecond epochs, both required) to set the cost window. When `forecast=true`, each entry also includes `ootb_forecast` (the ML forecast before overrides) and `custom_forecast` (`null` if no override is set, a number if one is).
     * @param param The request object
     */
    getBudget(param: CloudCostManagementApiGetBudgetRequest, options?: Configuration): Promise<BudgetWithEntries>;
    /**
     * Get a list of individual cloud commitments (Reserved Instances or Savings Plans) with their utilization details. The response schema varies based on the provider, product, and commitment type.
     * @param param The request object
     */
    getCommitmentsCommitmentList(param: CloudCostManagementApiGetCommitmentsCommitmentListRequest, options?: Configuration): Promise<CommitmentsListResponse>;
    /**
     * Get scalar coverage metrics for cloud commitment programs, including hours and cost coverage percentages.
     * @param param The request object
     */
    getCommitmentsCoverageScalar(param: CloudCostManagementApiGetCommitmentsCoverageScalarRequest, options?: Configuration): Promise<CommitmentsCoverageScalarResponse>;
    /**
     * Get timeseries coverage metrics for cloud commitment programs, broken down by coverage type (Reserved Instances, Savings Plans, On-Demand, and Spot) for both hours and cost.
     * @param param The request object
     */
    getCommitmentsCoverageTimeseries(param: CloudCostManagementApiGetCommitmentsCoverageTimeseriesRequest, options?: Configuration): Promise<CommitmentsCoverageTimeseriesResponse>;
    /**
     * Get scalar on-demand hot-spots data for cloud commitment programs, showing per-dimension breakdowns of on-demand spending with coverage metrics and potential savings.
     * @param param The request object
     */
    getCommitmentsOnDemandHotspotsScalar(param: CloudCostManagementApiGetCommitmentsOnDemandHotspotsScalarRequest, options?: Configuration): Promise<CommitmentsOnDemandHotspotsScalarResponse>;
    /**
     * Get scalar savings metrics for cloud commitment programs, including realized savings and effective savings rate.
     * @param param The request object
     */
    getCommitmentsSavingsScalar(param: CloudCostManagementApiGetCommitmentsSavingsScalarRequest, options?: Configuration): Promise<CommitmentsSavingsScalarResponse>;
    /**
     * Get timeseries savings metrics for cloud commitment programs, including actual cost, on-demand equivalent cost, realized savings, and effective savings rate over time.
     * @param param The request object
     */
    getCommitmentsSavingsTimeseries(param: CloudCostManagementApiGetCommitmentsSavingsTimeseriesRequest, options?: Configuration): Promise<CommitmentsSavingsTimeseriesResponse>;
    /**
     * Get scalar utilization metrics for cloud commitment programs, including utilization percentage and unused cost.
     * @param param The request object
     */
    getCommitmentsUtilizationScalar(param: CloudCostManagementApiGetCommitmentsUtilizationScalarRequest, options?: Configuration): Promise<CommitmentsUtilizationScalarResponse>;
    /**
     * Get timeseries utilization metrics for cloud commitment programs, including used and unused cost series over time.
     * @param param The request object
     */
    getCommitmentsUtilizationTimeseries(param: CloudCostManagementApiGetCommitmentsUtilizationTimeseriesRequest, options?: Configuration): Promise<CommitmentsUtilizationTimeseriesResponse>;
    /**
     * Get a detected Cloud Cost Management anomaly by UUID.
     * @param param The request object
     */
    getCostAnomaly(param: CloudCostManagementApiGetCostAnomalyRequest, options?: Configuration): Promise<CostAnomalyResponse>;
    /**
     * Get a specific AWS CUR config.
     * @param param The request object
     */
    getCostAWSCURConfig(param: CloudCostManagementApiGetCostAWSCURConfigRequest, options?: Configuration): Promise<AwsCurConfigResponse>;
    /**
     * Get a specific Azure config.
     * @param param The request object
     */
    getCostAzureUCConfig(param: CloudCostManagementApiGetCostAzureUCConfigRequest, options?: Configuration): Promise<UCConfigPair>;
    /**
     * Get a specific Google Cloud Usage Cost config.
     * @param param The request object
     */
    getCostGCPUsageCostConfig(param: CloudCostManagementApiGetCostGCPUsageCostConfigRequest, options?: Configuration): Promise<GcpUcConfigResponse>;
    /**
     * Get the Cloud Cost Management description for a single tag key. Use `filter[cloud]` to scope the lookup to a specific cloud provider; when omitted, the response resolves the description in fallback order (cloud-specific organization override, then cloudless organization default, then Datadog's global default).
     * @param param The request object
     */
    getCostTagDescriptionByKey(param: CloudCostManagementApiGetCostTagDescriptionByKeyRequest, options?: Configuration): Promise<CostTagDescriptionResponse>;
    /**
     * Get details for a specific Cloud Cost Management tag key, including example tag values and description.
     * @param param The request object
     */
    getCostTagKey(param: CloudCostManagementApiGetCostTagKeyRequest, options?: Configuration): Promise<CostTagKeyResponse>;
    /**
     * Get the dominant billing currency observed in Cloud Cost Management data for the requested period. The response wraps the currency in a JSON:API `data` array containing at most one entry; the array is empty when no currency data is available.
     * @param param The request object
     */
    getCostTagMetadataCurrency(param: CloudCostManagementApiGetCostTagMetadataCurrencyRequest, options?: Configuration): Promise<CostCurrencyResponse>;
    /**
     * Get a specific custom allocation rule - Retrieve a specific custom allocation rule by its ID
     * @param param The request object
     */
    getCustomAllocationRule(param: CloudCostManagementApiGetCustomAllocationRuleRequest, options?: Configuration): Promise<ArbitraryRuleResponse>;
    /**
     * Fetch the specified Custom Costs file.
     * @param param The request object
     */
    getCustomCostsFile(param: CloudCostManagementApiGetCustomCostsFileRequest, options?: Configuration): Promise<CustomCostsFileGetResponse>;
    /**
     * Get a specific tag pipeline ruleset - Retrieve a specific tag pipeline ruleset by its ID
     * @param param The request object
     */
    getTagPipelinesRuleset(param: CloudCostManagementApiGetTagPipelinesRulesetRequest, options?: Configuration): Promise<RulesetResp>;
    /**
     * List budgets.
     * @param param The request object
     */
    listBudgets(options?: Configuration): Promise<BudgetArray>;
    /**
     * List detected Cloud Cost Management anomalies for the organization.
     * @param param The request object
     */
    listCostAnomalies(param?: CloudCostManagementApiListCostAnomaliesRequest, options?: Configuration): Promise<CostAnomaliesResponse>;
    /**
     * List the AWS CUR configs.
     * @param param The request object
     */
    listCostAWSCURConfigs(options?: Configuration): Promise<AwsCURConfigsResponse>;
    /**
     * List the Azure configs.
     * @param param The request object
     */
    listCostAzureUCConfigs(options?: Configuration): Promise<AzureUCConfigsResponse>;
    /**
     * List the Google Cloud Usage Cost configs.
     * @param param The request object
     */
    listCostGCPUsageCostConfigs(options?: Configuration): Promise<GCPUsageCostConfigsResponse>;
    /**
     * List the OCI configs.
     * @param param The request object
     */
    listCostOCIConfigs(options?: Configuration): Promise<OCIConfigsResponse>;
    /**
     * List Cloud Cost Management tag key descriptions for the organization. Use `filter[cloud]` to scope the result to a single cloud provider; when omitted, both cross-cloud defaults and cloud-specific descriptions are returned.
     * @param param The request object
     */
    listCostTagDescriptions(param?: CloudCostManagementApiListCostTagDescriptionsRequest, options?: Configuration): Promise<CostTagDescriptionsResponse>;
    /**
     * List Cloud Cost Management tag keys.
     * @param param The request object
     */
    listCostTagKeys(param?: CloudCostManagementApiListCostTagKeysRequest, options?: Configuration): Promise<CostTagKeysResponse>;
    /**
     * List Cloud Cost Management tag keys observed for the requested period, along with the origin sources that produced them (for example, `aws-user-defined`, `custom`).
     * @param param The request object
     */
    listCostTagKeySources(param: CloudCostManagementApiListCostTagKeySourcesRequest, options?: Configuration): Promise<CostTagKeySourcesResponse>;
    /**
     * List Cloud Cost Management tag key metadata, including row counts, cost covered, cardinality, and a sample of top tag values per cloud account. Use `filter[daily]=true` to return daily rows instead of the default monthly roll-up.
     * @param param The request object
     */
    listCostTagMetadata(param: CloudCostManagementApiListCostTagMetadataRequest, options?: Configuration): Promise<CostTagKeyMetadataResponse>;
    /**
     * List Cloud Cost Management metrics that have data for the requested period.
     * @param param The request object
     */
    listCostTagMetadataMetrics(param: CloudCostManagementApiListCostTagMetadataMetricsRequest, options?: Configuration): Promise<CostMetricsResponse>;
    /**
     * List months that have Cloud Cost Management tag metadata for a given provider,
     * ordered most-recent first. The response is capped at 36 months.
     * @param param The request object
     */
    listCostTagMetadataMonths(param: CloudCostManagementApiListCostTagMetadataMonthsRequest, options?: Configuration): Promise<CostTagMetadataMonthsResponse>;
    /**
     * List container orchestrators (for example, `kubernetes`, `ecs`) detected in Cloud Cost Management data for the requested period.
     * @param param The request object
     */
    listCostTagMetadataOrchestrators(param: CloudCostManagementApiListCostTagMetadataOrchestratorsRequest, options?: Configuration): Promise<CostOrchestratorsResponse>;
    /**
     * List Cloud Cost Management tags for a given metric.
     * @param param The request object
     */
    listCostTags(param?: CloudCostManagementApiListCostTagsRequest, options?: Configuration): Promise<CostTagsResponse>;
    /**
     * List all custom allocation rules - Retrieve a list of all custom allocation rules for the organization
     * @param param The request object
     */
    listCustomAllocationRules(options?: Configuration): Promise<ArbitraryRuleResponseArray>;
    /**
     * List the processing status of all custom allocation rules. Returns only the ID and processing status for each rule.
     * @param param The request object
     */
    listCustomAllocationRulesStatus(options?: Configuration): Promise<ArbitraryRuleStatusResponseArray>;
    /**
     * List the Custom Costs files.
     * @param param The request object
     */
    listCustomCostsFiles(param?: CloudCostManagementApiListCustomCostsFilesRequest, options?: Configuration): Promise<CustomCostsFileListResponse>;
    /**
     * List all tag pipeline rulesets - Retrieve a list of all tag pipeline rulesets for the organization
     * @param param The request object
     */
    listTagPipelinesRulesets(options?: Configuration): Promise<RulesetRespArray>;
    /**
     * List the processing status of all tag pipeline rulesets. Returns only the ID and processing status for each ruleset.
     * @param param The request object
     */
    listTagPipelinesRulesetsStatus(options?: Configuration): Promise<RulesetStatusRespArray>;
    /**
     * Reorder custom allocation rules - Change the execution order of custom allocation rules.
     *
     * **Important**: You must provide the **complete list** of all rule IDs in the desired execution order. The API will reorder ALL rules according to the provided sequence.
     *
     * Rules are executed in the order specified, with lower indices (earlier in the array) having higher priority.
     *
     * **Example**: If you have rules with IDs [123, 456, 789] and want to change order from 123→456→789 to 456→123→789, send: [{"id": "456"}, {"id": "123"}, {"id": "789"}]
     * @param param The request object
     */
    reorderCustomAllocationRules(param: CloudCostManagementApiReorderCustomAllocationRulesRequest, options?: Configuration): Promise<void>;
    /**
     * Reorder tag pipeline rulesets - Change the execution order of tag pipeline rulesets
     * @param param The request object
     */
    reorderTagPipelinesRulesets(param: CloudCostManagementApiReorderTagPipelinesRulesetsRequest, options?: Configuration): Promise<void>;
    /**
     * List cost recommendations matching a filter, with pagination and sorting.
     * @param param The request object
     */
    searchCostRecommendations(param: CloudCostManagementApiSearchCostRecommendationsRequest, options?: Configuration): Promise<CostRecommendationArray>;
    /**
     * Update the status (active/archived) and/or account filtering configuration of an AWS CUR config.
     * @param param The request object
     */
    updateCostAWSCURConfig(param: CloudCostManagementApiUpdateCostAWSCURConfigRequest, options?: Configuration): Promise<AwsCURConfigsResponse>;
    /**
     * Update the status of an  Azure config (active/archived).
     * @param param The request object
     */
    updateCostAzureUCConfigs(param: CloudCostManagementApiUpdateCostAzureUCConfigsRequest, options?: Configuration): Promise<AzureUCConfigPairsResponse>;
    /**
     * Update the status of an Google Cloud Usage Cost config (active/archived).
     * @param param The request object
     */
    updateCostGCPUsageCostConfig(param: CloudCostManagementApiUpdateCostGCPUsageCostConfigRequest, options?: Configuration): Promise<GCPUsageCostConfigResponse>;
    /**
     * Update an existing custom allocation rule with new filters and allocation strategy.
     *
     * **Strategy Methods:**
     * - **PROPORTIONAL/EVEN**: Allocates costs proportionally/evenly based on existing costs. Requires: granularity, allocated_by_tag_keys. Optional: based_on_costs, allocated_by_filters, evaluate_grouped_by_tag_keys, evaluate_grouped_by_filters.
     * - **PROPORTIONAL_TIMESERIES/EVEN_TIMESERIES**: Allocates based on timeseries data. Requires: granularity, based_on_timeseries. Optional: evaluate_grouped_by_tag_keys.
     * - **PERCENT**: Allocates fixed percentages to specific tags. Requires: allocated_by (array of percentage allocations).
     * - **USAGE_METRIC**: Allocates based on usage metrics (implementation varies).
     *
     * **Filter Conditions:**
     * - Use **value** for single-value conditions: "is", "is not", "contains", "=", "!=", "like", "not like"
     * - Use **values** for multi-value conditions: "in", "not in"
     * - Cannot use both value and values simultaneously.
     *
     * **Supported operators**: is, is not, contains, in, not in, =, !=, like, not like
     * @param param The request object
     */
    updateCustomAllocationRule(param: CloudCostManagementApiUpdateCustomAllocationRuleRequest, options?: Configuration): Promise<ArbitraryRuleResponse>;
    /**
     * Update a tag pipeline ruleset - Update an existing tag pipeline ruleset with new rules and configuration
     * @param param The request object
     */
    updateTagPipelinesRuleset(param: CloudCostManagementApiUpdateTagPipelinesRulesetRequest, options?: Configuration): Promise<RulesetResp>;
    /**
     * Upload a Custom Costs file.
     * @param param The request object
     */
    uploadCustomCostsFile(param: CloudCostManagementApiUploadCustomCostsFileRequest, options?: Configuration): Promise<CustomCostsFileUploadResponse>;
    /**
     * Create a new budget or update an existing one.
     * @param param The request object
     */
    upsertBudget(param: CloudCostManagementApiUpsertBudgetRequest, options?: Configuration): Promise<BudgetWithEntries>;
    /**
     * Create or update a Cloud Cost Management tag key description. The new description and optional cloud scoping are supplied in the request body. Omit `cloud` to set a cross-cloud default for the tag key.
     * @param param The request object
     */
    upsertCostTagDescriptionByKey(param: CloudCostManagementApiUpsertCostTagDescriptionByKeyRequest, options?: Configuration): Promise<void>;
    /**
     * Create or replace the custom forecast for an existing budget.
     * Pass an empty `entries` list to delete the custom forecast for the budget.
     * @param param The request object
     */
    upsertCustomForecast(param: CloudCostManagementApiUpsertCustomForecastRequest, options?: Configuration): Promise<CustomForecastResponse>;
    /**
     * Validate a budget configuration without creating or modifying it
     * @param param The request object
     */
    validateBudget(param: CloudCostManagementApiValidateBudgetRequest, options?: Configuration): Promise<BudgetValidationResponse>;
    /**
     * @param param The request object
     */
    validateCsvBudget(options?: Configuration): Promise<ValidationResponse>;
    /**
     * Validate a tag pipeline query - Validate the syntax and structure of a tag pipeline query
     * @param param The request object
     */
    validateQuery(param: CloudCostManagementApiValidateQueryRequest, options?: Configuration): Promise<RulesValidateQueryResponse>;
}
