import * as z from "zod"; export declare const SubscriptionStatusSchema: z.ZodUnion<[z.ZodLiteral<"trialing">, z.ZodLiteral<"active">, z.ZodLiteral<"past_due">, z.ZodLiteral<"canceled">, z.ZodLiteral<"unpaid">, z.ZodLiteral<"incomplete">, z.ZodLiteral<"incomplete_expired">, z.ZodLiteral<"paused">, z.ZodString]>; export declare const SubscriptionItemSchema: z.ZodObject<{ id: z.ZodString; subscriptionId: z.ZodString; priceId: z.ZodString; priceAmount: z.ZodOptional, number, string | number>>; productName: z.ZodOptional; productDescription: z.ZodOptional; currency: z.ZodOptional; quantity: z.ZodOptional; createdAt: z.ZodOptional; updatedAt: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; subscriptionId: string; priceId: string; currency?: string | undefined; createdAt?: string | undefined; updatedAt?: string | undefined; quantity?: number | undefined; priceAmount?: number | undefined; productName?: string | undefined; productDescription?: string | undefined; }, { id: string; subscriptionId: string; priceId: string; currency?: string | undefined; createdAt?: string | undefined; updatedAt?: string | undefined; quantity?: number | undefined; priceAmount?: string | number | undefined; productName?: string | undefined; productDescription?: string | undefined; }>; export declare const SubscriptionSchema: z.ZodObject<{ id: z.ZodString; status: z.ZodUnion<[z.ZodLiteral<"trialing">, z.ZodLiteral<"active">, z.ZodLiteral<"past_due">, z.ZodLiteral<"canceled">, z.ZodLiteral<"unpaid">, z.ZodLiteral<"incomplete">, z.ZodLiteral<"incomplete_expired">, z.ZodLiteral<"paused">, z.ZodString]>; currentPeriodStart: z.ZodOptional; currentPeriodEnd: z.ZodOptional; cancelAtPeriodEnd: z.ZodDefault>; canceledAt: z.ZodOptional>; priceId: z.ZodOptional; createdAt: z.ZodOptional; updatedAt: z.ZodOptional; items: z.ZodDefault, number, string | number>>; productName: z.ZodOptional; productDescription: z.ZodOptional; currency: z.ZodOptional; quantity: z.ZodOptional; createdAt: z.ZodOptional; updatedAt: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; subscriptionId: string; priceId: string; currency?: string | undefined; createdAt?: string | undefined; updatedAt?: string | undefined; quantity?: number | undefined; priceAmount?: number | undefined; productName?: string | undefined; productDescription?: string | undefined; }, { id: string; subscriptionId: string; priceId: string; currency?: string | undefined; createdAt?: string | undefined; updatedAt?: string | undefined; quantity?: number | undefined; priceAmount?: string | number | undefined; productName?: string | undefined; productDescription?: string | undefined; }>, "many">>; stripeStatus: z.ZodOptional, z.ZodLiteral<"active">, z.ZodLiteral<"past_due">, z.ZodLiteral<"canceled">, z.ZodLiteral<"unpaid">, z.ZodLiteral<"incomplete">, z.ZodLiteral<"incomplete_expired">, z.ZodLiteral<"paused">, z.ZodString]>>; stripeCancelAtPeriodEnd: z.ZodOptional; }, "strip", z.ZodTypeAny, { id: string; status: string; items: { id: string; subscriptionId: string; priceId: string; currency?: string | undefined; createdAt?: string | undefined; updatedAt?: string | undefined; quantity?: number | undefined; priceAmount?: number | undefined; productName?: string | undefined; productDescription?: string | undefined; }[]; cancelAtPeriodEnd: boolean; currentPeriodEnd?: string | undefined; createdAt?: string | undefined; updatedAt?: string | undefined; priceId?: string | undefined; currentPeriodStart?: string | undefined; canceledAt?: string | null | undefined; stripeStatus?: string | undefined; stripeCancelAtPeriodEnd?: boolean | undefined; }, { id: string; status: string; currentPeriodEnd?: string | undefined; items?: { id: string; subscriptionId: string; priceId: string; currency?: string | undefined; createdAt?: string | undefined; updatedAt?: string | undefined; quantity?: number | undefined; priceAmount?: string | number | undefined; productName?: string | undefined; productDescription?: string | undefined; }[] | undefined; createdAt?: string | undefined; updatedAt?: string | undefined; priceId?: string | undefined; currentPeriodStart?: string | undefined; cancelAtPeriodEnd?: boolean | undefined; canceledAt?: string | null | undefined; stripeStatus?: string | undefined; stripeCancelAtPeriodEnd?: boolean | undefined; }>; export type Subscription = z.infer; export type SubscriptionItem = z.infer; export type SubscriptionView = Subscription & { nextRenewalDate?: Date | null; isActive: boolean; isTrial: boolean; isScheduledToCancel: boolean; };