declare const CLOUDFLARE_PROVIDER = "cloudflare"; export interface CloudflareBillingUsagePayload { accounts?: readonly CloudflareAccount[]; billableUsage?: readonly CloudflareBillableUsageRecord[]; paygoUsage?: readonly CloudflarePaygoUsageRecord[]; status?: readonly CloudflareStatusSignal[]; unavailable?: readonly CloudflareUnavailableSurface[]; } export interface CloudflareAccount { id?: string; name?: string; } export interface CloudflareBillableUsageRecord { BillingAccountId?: string; BillingAccountName?: string; BillingCurrency?: string; BillingPeriodStart?: string; BillingPeriodEnd?: string; ChargePeriodStart?: string; ChargePeriodEnd?: string; BilledCost?: number | string; Cost?: number | string; ConsumedQuantity?: number | string; ConsumedUnit?: string; PricingQuantity?: number | string; PricingUnit?: string; ServiceName?: string; x_ProductFamilyName?: string; x_BillableMetricId?: string; x_ZoneId?: string; x_ZoneName?: string; SubAccountId?: string; SubAccountName?: string; ChargeCategory?: string; ChargeDescription?: string; ChargeFrequency?: string; } export interface CloudflarePaygoUsageRecord { BillingAccountId?: string; BillingCurrency?: string; BillingPeriodStart?: string; BillingPeriodEnd?: string; ChargePeriodStart?: string; ChargePeriodEnd?: string; ContractedCost?: number | string; CumulatedContractedCost?: number | string; ConsumedQuantity?: number | string; ConsumedUnit?: string; ServiceName?: string; ServiceFamilyName?: string; } export interface CloudflareStatusSignal { accountId?: string; service?: string; status?: string; message?: string; } export interface CloudflareUnavailableSurface { surface: "billable-usage" | "paygo-usage" | "subscriptions"; accountId?: string; reason?: string; } export interface CloudflareNormalizedSnapshotBundle { usage: readonly CloudflareUsageSnapshot[]; billing: readonly CloudflareBillingSnapshot[]; serviceHealth: readonly CloudflareServiceHealthSnapshot[]; costEstimates: readonly CloudflareCostEstimate[]; } export interface CloudflareUsageSnapshot { provider: typeof CLOUDFLARE_PROVIDER; collectedAt: string; providerAccountRef: string; service: string; metric: "billable_quantity"; unit: string; value: number; } export interface CloudflareBillingSnapshot { provider: typeof CLOUDFLARE_PROVIDER; collectedAt: string; providerAccountRef: string; periodStart: string; periodEnd: string; amountMinor: number; currency: string; status: "estimated"; } export interface CloudflareServiceHealthSnapshot { provider: typeof CLOUDFLARE_PROVIDER; collectedAt: string; service: string; status: "ok" | "degraded" | "down" | "unknown"; message?: string; } export interface CloudflareCostEstimate { provider: typeof CLOUDFLARE_PROVIDER; collectedAt: string; providerAccountRef: string; periodStart: string; periodEnd: string; estimatedAmountMinor: number; currency: string; confidence: "low"; } export interface NormalizeCloudflareBillingUsageInput { payload: CloudflareBillingUsagePayload; collectedAt: string; } export declare function normalizeCloudflareBillingUsage(input: NormalizeCloudflareBillingUsageInput): CloudflareNormalizedSnapshotBundle; export declare function redactedCloudflareAccountId(accountId: string): string; export declare function cloudflareAmountToMinorUnits(amount: number | string): number; export {}; //# sourceMappingURL=normalize.d.ts.map