import type { EventType, Payment } from '../../../../prisma-client';
import type { StripeElements } from "@stripe/stripe-js";
import type { SyntheticEvent } from "react";
import type { PaymentOption } from '../../../../prisma/enums';
import type { PaymentPageProps } from "../pages/payment";
export type Props = {
    payment: Omit<Payment, "id" | "fee" | "success" | "refunded" | "externalId" | "data"> & {
        data: Record<string, unknown>;
    };
    eventType: {
        id: number;
        successRedirectUrl: EventType["successRedirectUrl"];
        forwardParamsSuccessRedirect: EventType["forwardParamsSuccessRedirect"];
    };
    user: {
        username: string | null;
    };
    location?: string | null;
    clientSecret: string;
    booking: PaymentPageProps["booking"];
};
export type States = {
    status: "idle";
} | {
    status: "processing";
} | {
    status: "error";
    error: Error;
} | {
    status: "ok";
};
export declare const PaymentFormComponent: (props: Props & {
    onSubmit: (ev: SyntheticEvent) => void;
    onCancel: () => void;
    onPaymentElementChange: () => void;
    elements: StripeElements | null;
    paymentOption: PaymentOption | null;
    state: States;
}) => JSX.Element;
export default function PaymentComponent(props: Props): JSX.Element;
//# sourceMappingURL=Payment.d.ts.map