import { z } from "zod"; export declare const UsageBucketsSchema: z.ZodObject<{ inputTokens: z.ZodNumber; outputTokens: z.ZodNumber; cacheReadTokens: z.ZodNumber; cacheWriteTokens: z.ZodNumber; }, z.core.$strict>; export type UsageBuckets = z.infer; export declare const EMPTY_USAGE_BUCKETS: Readonly; export declare function totalTokens(buckets: UsageBuckets): number; export declare const AccountStatusSchema: z.ZodEnum<{ unsupported: "unsupported"; error: "error"; ok: "ok"; pending: "pending"; "not-configured": "not-configured"; "auth-error": "auth-error"; "rate-limited": "rate-limited"; unavailable: "unavailable"; }>; export type AccountStatus = z.infer; export declare const QuotaWindowSchema: z.ZodObject<{ id: z.ZodString; kind: z.ZodEnum<{ session: "session"; daily: "daily"; weekly: "weekly"; monthly: "monthly"; rolling: "rolling"; custom: "custom"; }>; label: z.ZodString; unit: z.ZodEnum<{ tokens: "tokens"; requests: "requests"; currency: "currency"; percent: "percent"; unknown: "unknown"; }>; used: z.ZodNullable; remaining: z.ZodNullable; limit: z.ZodNullable; usedRatio: z.ZodNullable; resetsAt: z.ZodNullable; rolling: z.ZodBoolean; }, z.core.$strict>; export type QuotaWindow = z.infer; export declare const BalanceSnapshotSchema: z.ZodObject<{ remaining: z.ZodNullable; used: z.ZodNullable; limit: z.ZodNullable; currency: z.ZodNullable; unlimited: z.ZodBoolean; }, z.core.$strict>; export type BalanceSnapshot = z.infer; export declare const AccountSnapshotSchema: z.ZodObject<{ providerId: z.ZodString; profileId: z.ZodDefault; displayName: z.ZodString; adapterId: z.ZodNullable; mode: z.ZodNullable>; status: z.ZodEnum<{ unsupported: "unsupported"; error: "error"; ok: "ok"; pending: "pending"; "not-configured": "not-configured"; "auth-error": "auth-error"; "rate-limited": "rate-limited"; unavailable: "unavailable"; }>; configured: z.ZodBoolean; fetchedAt: z.ZodNullable; stale: z.ZodBoolean; plan: z.ZodNullable; balance: z.ZodNullable; used: z.ZodNullable; limit: z.ZodNullable; currency: z.ZodNullable; unlimited: z.ZodBoolean; }, z.core.$strict>>; windows: z.ZodArray; label: z.ZodString; unit: z.ZodEnum<{ tokens: "tokens"; requests: "requests"; currency: "currency"; percent: "percent"; unknown: "unknown"; }>; used: z.ZodNullable; remaining: z.ZodNullable; limit: z.ZodNullable; usedRatio: z.ZodNullable; resetsAt: z.ZodNullable; rolling: z.ZodBoolean; }, z.core.$strict>>; missingCredentials: z.ZodArray; warningCode: z.ZodNullable; }, z.core.$strict>; export type AccountSnapshot = z.infer; export declare const CurrencyCodeSchema: z.ZodPipe>; export declare const PriceRuleSchema: z.ZodObject<{ id: z.ZodString; providerPattern: z.ZodString; modelPattern: z.ZodString; effectiveFrom: z.ZodNumber; currency: z.ZodPipe>; inputPerMillion: z.ZodNullable; outputPerMillion: z.ZodNullable; cacheReadPerMillion: z.ZodNullable; cacheWritePerMillion: z.ZodNullable; source: z.ZodEnum<{ imported: "imported"; builtin: "builtin"; user: "user"; }>; updatedAt: z.ZodNumber; }, z.core.$strict>; export type PriceRule = z.infer; export declare const UsageMetricSchema: z.ZodEnum<{ tokens: "tokens"; requests: "requests"; estimatedCost: "estimatedCost"; cacheHitRate: "cacheHitRate"; }>; export type UsageMetric = z.infer; export declare const UsageGroupBySchema: z.ZodEnum<{ none: "none"; session: "session"; provider: "provider"; model: "model"; }>; export type UsageGroupBy = z.infer; export declare const TimeGranularitySchema: z.ZodEnum<{ hour: "hour"; day: "day"; week: "week"; month: "month"; }>; export type TimeGranularity = z.infer; export declare const UsageQuerySchema: z.ZodObject<{ from: z.ZodNumber; to: z.ZodNumber; timeZone: z.ZodString; granularity: z.ZodEnum<{ hour: "hour"; day: "day"; week: "week"; month: "month"; }>; metric: z.ZodEnum<{ tokens: "tokens"; requests: "requests"; estimatedCost: "estimatedCost"; cacheHitRate: "cacheHitRate"; }>; groupBy: z.ZodEnum<{ none: "none"; session: "session"; provider: "provider"; model: "model"; }>; providers: z.ZodArray; models: z.ZodArray; compare: z.ZodBoolean; }, z.core.$strict>; export type UsageQuery = z.infer; //# sourceMappingURL=domain.d.ts.map