import * as z from "zod";
import { CompleteApp, CompleteBooking } from "./index";
type Literal = boolean | number | string;
type Json = Literal | {
    [key: string]: Json;
} | Json[];
export declare const _PaymentModel: z.ZodObject<{
    id: z.ZodNumber;
    uid: z.ZodString;
    appId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    bookingId: z.ZodNumber;
    amount: z.ZodNumber;
    fee: z.ZodNumber;
    currency: z.ZodString;
    success: z.ZodBoolean;
    refunded: z.ZodBoolean;
    data: z.ZodType<Json, z.ZodTypeDef, Json>;
    externalId: z.ZodString;
    paymentOption: z.ZodOptional<z.ZodNullable<z.ZodNativeEnum<{
        ON_BOOKING: "ON_BOOKING";
        HOLD: "HOLD";
    }>>>;
}, "strip", z.ZodTypeAny, {
    success: boolean;
    data: Json & (Json | undefined);
    id: number;
    currency: string;
    bookingId: number;
    uid: string;
    externalId: string;
    refunded: boolean;
    amount: number;
    fee: number;
    appId?: string | null | undefined;
    paymentOption?: "ON_BOOKING" | "HOLD" | null | undefined;
}, {
    success: boolean;
    data: Json & (Json | undefined);
    id: number;
    currency: string;
    bookingId: number;
    uid: string;
    externalId: string;
    refunded: boolean;
    amount: number;
    fee: number;
    appId?: string | null | undefined;
    paymentOption?: "ON_BOOKING" | "HOLD" | null | undefined;
}>;
export interface CompletePayment extends z.infer<typeof _PaymentModel> {
    app?: CompleteApp | null;
    booking?: CompleteBooking | null;
}
/**
 * PaymentModel contains all relations on your model in addition to the scalars
 *
 * NOTE: Lazy required in case of potential circular dependencies within schema
 */
export declare const PaymentModel: z.ZodSchema<CompletePayment>;
export {};
//# sourceMappingURL=payment.d.ts.map