/** * Billing Validation Schemas * * Zod schemas for validating billing API inputs. * Used for type-safe API validation. */ import { z } from 'zod'; export declare const planTypeSchema: z.ZodEnum<{ free: "free"; paid: "paid"; enterprise: "enterprise"; }>; export declare const planVisibilitySchema: z.ZodEnum<{ public: "public"; hidden: "hidden"; invite_only: "invite_only"; }>; export declare const subscriptionStatusSchema: z.ZodEnum<{ active: "active"; expired: "expired"; paused: "paused"; trialing: "trialing"; past_due: "past_due"; canceled: "canceled"; }>; export declare const paymentProviderSchema: z.ZodEnum<{ stripe: "stripe"; polar: "polar"; }>; export declare const billingEventTypeSchema: z.ZodEnum<{ payment: "payment"; refund: "refund"; invoice: "invoice"; credit: "credit"; }>; export declare const billingEventStatusSchema: z.ZodEnum<{ pending: "pending"; succeeded: "succeeded"; failed: "failed"; }>; export declare const createPlanSchema: z.ZodObject<{ slug: z.ZodString; name: z.ZodString; description: z.ZodOptional; type: z.ZodDefault>; visibility: z.ZodDefault>; priceMonthly: z.ZodOptional; priceYearly: z.ZodOptional; currency: z.ZodDefault; trialDays: z.ZodDefault; features: z.ZodDefault>; limits: z.ZodDefault>; metadata: z.ZodDefault>; sortOrder: z.ZodDefault; }, z.core.$strip>; export declare const updatePlanSchema: z.ZodObject<{ slug: z.ZodOptional; name: z.ZodOptional; description: z.ZodOptional>; type: z.ZodOptional>>; visibility: z.ZodOptional>>; priceMonthly: z.ZodOptional>; priceYearly: z.ZodOptional>; currency: z.ZodOptional>; trialDays: z.ZodOptional>; features: z.ZodOptional>>; limits: z.ZodOptional>>; metadata: z.ZodOptional>>; sortOrder: z.ZodOptional>; }, z.core.$strip>; export declare const createSubscriptionSchema: z.ZodObject<{ teamId: z.ZodString; userId: z.ZodOptional; planId: z.ZodString; status: z.ZodDefault>; currentPeriodStart: z.ZodOptional; currentPeriodEnd: z.ZodOptional; trialEndsAt: z.ZodOptional; }, z.core.$strip>; export declare const updateSubscriptionSchema: z.ZodObject<{ status: z.ZodOptional>; planId: z.ZodOptional; cancelAtPeriodEnd: z.ZodOptional; }, z.core.$strip>; export declare const trackUsageSchema: z.ZodObject<{ limitSlug: z.ZodString; delta: z.ZodNumber; action: z.ZodOptional; resourceType: z.ZodOptional; resourceId: z.ZodOptional; metadata: z.ZodDefault>>; }, z.core.$strip>; export declare const createBillingEventSchema: z.ZodObject<{ subscriptionId: z.ZodString; type: z.ZodEnum<{ payment: "payment"; refund: "refund"; invoice: "invoice"; credit: "credit"; }>; status: z.ZodDefault>; amount: z.ZodNumber; currency: z.ZodDefault; externalPaymentId: z.ZodOptional; invoiceUrl: z.ZodOptional; receiptUrl: z.ZodOptional; metadata: z.ZodDefault>; }, z.core.$strip>; export type CreatePlanInput = z.infer; export type UpdatePlanInput = z.infer; export type CreateSubscriptionInput = z.infer; export type UpdateSubscriptionInput = z.infer; export type TrackUsageInput = z.infer; export type CreateBillingEventInput = z.infer; //# sourceMappingURL=schema.d.ts.map