import { z } from "zod"; export declare const SUBSCRIPTION_CURRENCIES: readonly ["USD", "EUR", "GBP", "CAD", "AUD", "CHF"]; export declare const subscriptionPriceSchema: z.ZodObject<{ expectedRevision: z.ZodNumber; plan: z.ZodString; amountCents: z.ZodNullable, z.ZodTransform>>; currency: z.ZodEnum<{ AUD: "AUD"; CAD: "CAD"; CHF: "CHF"; EUR: "EUR"; GBP: "GBP"; USD: "USD"; }>; cadence: z.ZodEnum<{ month: "month"; year: "year"; }>; status: z.ZodEnum<{ active: "active"; ended: "ended"; excluded: "excluded"; }>; }, z.core.$strict>; export type UpdateSubscriptionPrice = z.input; export declare const mergeSubscriptionsSchema: z.ZodObject<{ targetId: z.ZodString; expectedRevision: z.ZodNumber; targetRevision: z.ZodNumber; }, z.core.$strict>; export interface SubscriptionPlan { id: string; provider: string; name: string; monthlyCents: string; currency: "USD"; sourceUrl: string; checkedAt: string; } export declare const SUBSCRIPTION_PLANS: readonly SubscriptionPlan[]; export declare function subscriptionPlan(provider: string, plan: string | null): SubscriptionPlan | null; export declare function monthlySubscriptionCents(amount: string, cadence: "month" | "year"): string; export interface SubscriptionPrice { revision: number; plan: string; amountCents: string | null; monthlyCents: string | null; currency: string; cadence: "month" | "year"; status: "active" | "ended" | "excluded"; source: "catalog" | "user" | "unknown"; sourceUrl: string | null; effectiveAt: string; } export interface SubscriptionUsage { inputTokens: number; cachedInputTokens: number; outputTokens: number; costCents: string; eventCount: number; estimatedEventCount: number; unpricedEventCount: number; } export interface SubscriptionAccountReport { id: string; provider: string; name: string; ownerUserId: string | null; ownerName: string | null; shared: boolean; identityVerified: boolean; detectedPlan: string | null; observedAt: string | null; lastCheckedAt: string | null; refreshStatus: "ok" | "unavailable" | null; canEdit: boolean; price: SubscriptionPrice; usage: SubscriptionUsage; agents: { id: string; name: string; }[]; } export interface SubscriptionCostReport { canRefresh: boolean; /** Current monthly commitment for accounts visible to the caller; * independent of the usage date filter. Aggregate run usage is company-wide. */ asOf: string; accounts: SubscriptionAccountReport[]; monthlyTotals: { currency: string; amountCents: string; estimatedCount: number; }[]; activeCount: number; unknownPriceCount: number; unidentifiedAccountCount: number; api: SubscriptionUsage; subscription: SubscriptionUsage; /** Other billing types (credits, fixed, or unknown), outside API/subscription totals. */ unknown: SubscriptionUsage; unattributedSubscription: SubscriptionUsage; } //# sourceMappingURL=subscriptions.d.ts.map