declare const MONEYSIREN_COST_METRIC = "unblended_cost"; export interface AwsCostExplorerGetCostAndUsageOutput { ResultsByTime?: readonly AwsCostExplorerResultByTime[]; } export interface AwsCostExplorerResultByTime { TimePeriod?: AwsCostExplorerTimePeriod; Total?: AwsCostExplorerMetrics; Groups?: readonly AwsCostExplorerGroup[]; Estimated?: boolean; } export interface AwsCostExplorerTimePeriod { Start?: string; End?: string; } export type AwsCostExplorerMetrics = Record; export interface AwsCostExplorerMetricAmount { Amount?: string; Unit?: string; } export interface AwsCostExplorerGroup { Keys?: readonly string[]; Metrics?: AwsCostExplorerMetrics; } export interface AwsNormalizedSnapshotBundle { usage: readonly AwsUsageSnapshot[]; billing: readonly AwsBillingSnapshot[]; serviceHealth: readonly AwsServiceHealthSnapshot[]; costEstimates: readonly AwsCostEstimate[]; } export interface AwsUsageSnapshot { provider: "aws"; collectedAt: string; service: string; metric: typeof MONEYSIREN_COST_METRIC; unit: string; value: number; } export interface AwsBillingSnapshot { provider: "aws"; collectedAt: string; periodStart: string; periodEnd: string; amountMinor: number; currency: string; status: "estimated" | "final"; } export interface AwsServiceHealthSnapshot { provider: "aws"; collectedAt: string; service: string; status: "ok" | "degraded" | "down" | "unknown"; } export interface AwsCostEstimate { provider: "aws"; collectedAt: string; periodStart: string; periodEnd: string; estimatedAmountMinor: number; currency: string; confidence: "medium" | "high"; } export interface NormalizeCostExplorerResponseInput { response: AwsCostExplorerGetCostAndUsageOutput; collectedAt: string; } export declare function normalizeCostExplorerResponse(input: NormalizeCostExplorerResponseInput): AwsNormalizedSnapshotBundle; export declare function decimalAmountToMinorUnits(amount: string): number; export {}; //# sourceMappingURL=normalize.d.ts.map