import { z } from 'zod';

declare const stripeInvoiceSchema: z.ZodObject<{
    id: z.ZodString;
    object: z.ZodLiteral<"invoice">;
    subscription: z.ZodOptional<z.ZodString>;
    charge: z.ZodOptional<z.ZodString>;
    customer: z.ZodString;
    amount_paid: z.ZodNumber;
    currency: z.ZodString;
    status: z.ZodEnum<["paid", "open", "void", "uncollectible"]>;
}, "strip", z.ZodTypeAny, {
    object: "invoice";
    id: string;
    status: "void" | "open" | "paid" | "uncollectible";
    customer: string;
    currency: string;
    amount_paid: number;
    subscription?: string | undefined;
    charge?: string | undefined;
}, {
    object: "invoice";
    id: string;
    status: "void" | "open" | "paid" | "uncollectible";
    customer: string;
    currency: string;
    amount_paid: number;
    subscription?: string | undefined;
    charge?: string | undefined;
}>;
declare const invoicePaymentSucceededEvent: z.ZodObject<{
    id: z.ZodString;
    object: z.ZodLiteral<"event">;
    type: z.ZodLiteral<"invoice.payment_succeeded">;
    data: z.ZodObject<{
        object: z.ZodObject<{
            id: z.ZodString;
            object: z.ZodLiteral<"invoice">;
            subscription: z.ZodOptional<z.ZodString>;
            charge: z.ZodOptional<z.ZodString>;
            customer: z.ZodString;
            amount_paid: z.ZodNumber;
            currency: z.ZodString;
            status: z.ZodEnum<["paid", "open", "void", "uncollectible"]>;
        }, "strip", z.ZodTypeAny, {
            object: "invoice";
            id: string;
            status: "void" | "open" | "paid" | "uncollectible";
            customer: string;
            currency: string;
            amount_paid: number;
            subscription?: string | undefined;
            charge?: string | undefined;
        }, {
            object: "invoice";
            id: string;
            status: "void" | "open" | "paid" | "uncollectible";
            customer: string;
            currency: string;
            amount_paid: number;
            subscription?: string | undefined;
            charge?: string | undefined;
        }>;
    }, "strip", z.ZodTypeAny, {
        object: {
            object: "invoice";
            id: string;
            status: "void" | "open" | "paid" | "uncollectible";
            customer: string;
            currency: string;
            amount_paid: number;
            subscription?: string | undefined;
            charge?: string | undefined;
        };
    }, {
        object: {
            object: "invoice";
            id: string;
            status: "void" | "open" | "paid" | "uncollectible";
            customer: string;
            currency: string;
            amount_paid: number;
            subscription?: string | undefined;
            charge?: string | undefined;
        };
    }>;
}, "strip", z.ZodTypeAny, {
    object: "event";
    type: "invoice.payment_succeeded";
    id: string;
    data: {
        object: {
            object: "invoice";
            id: string;
            status: "void" | "open" | "paid" | "uncollectible";
            customer: string;
            currency: string;
            amount_paid: number;
            subscription?: string | undefined;
            charge?: string | undefined;
        };
    };
}, {
    object: "event";
    type: "invoice.payment_succeeded";
    id: string;
    data: {
        object: {
            object: "invoice";
            id: string;
            status: "void" | "open" | "paid" | "uncollectible";
            customer: string;
            currency: string;
            amount_paid: number;
            subscription?: string | undefined;
            charge?: string | undefined;
        };
    };
}>;
type InvoicePaymentSucceededEvent = z.infer<typeof invoicePaymentSucceededEvent>;

export { type InvoicePaymentSucceededEvent, invoicePaymentSucceededEvent, stripeInvoiceSchema };
