import { z } from "zod";
import { Stripe, StripeElements, StripeCardElementChangeEvent } from "@stripe/stripe-js";
import { VoidFunc, VoidFuncNoParam } from "../../../../fd-toolbox/functions/internal-getter-setter-functions";
export type FormData = z.infer<typeof schema>;
export declare const schema: z.ZodObject<{
    email: z.ZodString;
    name: z.ZodString;
    country: z.ZodString;
    zip: z.ZodString;
}, "strip", z.ZodTypeAny, {
    name?: string;
    zip?: string;
    country?: string;
    email?: string;
}, {
    name?: string;
    zip?: string;
    country?: string;
    email?: string;
}>;
export declare function updateCursorOnFormSubmit(isSubmitting: boolean, setIsSubmittingForm: VoidFunc<boolean>): void;
export declare function attachPaymentMethodWithSubscription(formData: FormData, pricingId: string, afterSuccessSubmitting: VoidFuncNoParam, elements?: StripeElements, stripe?: Stripe, rerouteAfterSuccess?: boolean, redirectUrl?: string): Promise<void>;
export declare function attachPaymentMethodWithoutSubscription(formData: FormData, afterSuccessSubmitting: VoidFuncNoParam, stripe?: Stripe, elements?: StripeElements): Promise<void>;
export declare function onCardFieldChange(event: StripeCardElementChangeEvent, setIsCardFieldValid: VoidFunc<boolean>, setIsCardFieldErrorShown: VoidFunc<boolean>): void;
export declare function handleFormSubmit(formData: FormData, onSubmitSuccess: VoidFuncNoParam, pricingId?: string, elements?: StripeElements, stripe?: Stripe, rerouteAfterSuccess?: boolean, redirectUrl?: string): Promise<void>;
