import { FormComponentProps, FormComponentRef, FormComponentSlotProps, FormDataConvertible, Method } from '@inertiajs/core';
import { PropType, SlotsType } from 'vue';
declare const Form: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    action: {
        type: PropType<FormComponentProps["action"]>;
        default: string;
    };
    method: {
        type: PropType<FormComponentProps["method"]>;
        default: string;
    };
    headers: {
        type: PropType<FormComponentProps["headers"]>;
        default: () => {};
    };
    queryStringArrayFormat: {
        type: PropType<FormComponentProps["queryStringArrayFormat"]>;
        default: string;
    };
    errorBag: {
        type: PropType<FormComponentProps["errorBag"]>;
        default: null;
    };
    showProgress: {
        type: BooleanConstructor;
        default: boolean;
    };
    transform: {
        type: PropType<FormComponentProps["transform"]>;
        default: (data: Record<string, FormDataConvertible>) => Record<string, FormDataConvertible>;
    };
    options: {
        type: PropType<FormComponentProps["options"]>;
        default: () => {};
    };
    resetOnError: {
        type: PropType<FormComponentProps["resetOnError"]>;
        default: boolean;
    };
    resetOnSuccess: {
        type: PropType<FormComponentProps["resetOnSuccess"]>;
        default: boolean;
    };
    setDefaultsOnSuccess: {
        type: PropType<FormComponentProps["setDefaultsOnSuccess"]>;
        default: boolean;
    };
    onCancelToken: {
        type: PropType<FormComponentProps["onCancelToken"]>;
        default: () => undefined;
    };
    onBefore: {
        type: PropType<FormComponentProps["onBefore"]>;
        default: () => undefined;
    };
    onStart: {
        type: PropType<FormComponentProps["onStart"]>;
        default: () => undefined;
    };
    onProgress: {
        type: PropType<FormComponentProps["onProgress"]>;
        default: () => undefined;
    };
    onFinish: {
        type: PropType<FormComponentProps["onFinish"]>;
        default: () => undefined;
    };
    onCancel: {
        type: PropType<FormComponentProps["onCancel"]>;
        default: () => undefined;
    };
    onSuccess: {
        type: PropType<FormComponentProps["onSuccess"]>;
        default: () => undefined;
    };
    onError: {
        type: PropType<FormComponentProps["onError"]>;
        default: () => undefined;
    };
    onSubmitComplete: {
        type: PropType<FormComponentProps["onSubmitComplete"]>;
        default: () => undefined;
    };
    disableWhileProcessing: {
        type: BooleanConstructor;
        default: boolean;
    };
    invalidateCacheTags: {
        type: PropType<FormComponentProps["invalidateCacheTags"]>;
        default: () => never[];
    };
    validateFiles: {
        type: PropType<FormComponentProps["validateFiles"]>;
        default: boolean;
    };
    validationTimeout: {
        type: PropType<FormComponentProps["validationTimeout"]>;
        default: number;
    };
    withAllErrors: {
        type: PropType<FormComponentProps["withAllErrors"]>;
        default: null;
    };
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    action: {
        type: PropType<FormComponentProps["action"]>;
        default: string;
    };
    method: {
        type: PropType<FormComponentProps["method"]>;
        default: string;
    };
    headers: {
        type: PropType<FormComponentProps["headers"]>;
        default: () => {};
    };
    queryStringArrayFormat: {
        type: PropType<FormComponentProps["queryStringArrayFormat"]>;
        default: string;
    };
    errorBag: {
        type: PropType<FormComponentProps["errorBag"]>;
        default: null;
    };
    showProgress: {
        type: BooleanConstructor;
        default: boolean;
    };
    transform: {
        type: PropType<FormComponentProps["transform"]>;
        default: (data: Record<string, FormDataConvertible>) => Record<string, FormDataConvertible>;
    };
    options: {
        type: PropType<FormComponentProps["options"]>;
        default: () => {};
    };
    resetOnError: {
        type: PropType<FormComponentProps["resetOnError"]>;
        default: boolean;
    };
    resetOnSuccess: {
        type: PropType<FormComponentProps["resetOnSuccess"]>;
        default: boolean;
    };
    setDefaultsOnSuccess: {
        type: PropType<FormComponentProps["setDefaultsOnSuccess"]>;
        default: boolean;
    };
    onCancelToken: {
        type: PropType<FormComponentProps["onCancelToken"]>;
        default: () => undefined;
    };
    onBefore: {
        type: PropType<FormComponentProps["onBefore"]>;
        default: () => undefined;
    };
    onStart: {
        type: PropType<FormComponentProps["onStart"]>;
        default: () => undefined;
    };
    onProgress: {
        type: PropType<FormComponentProps["onProgress"]>;
        default: () => undefined;
    };
    onFinish: {
        type: PropType<FormComponentProps["onFinish"]>;
        default: () => undefined;
    };
    onCancel: {
        type: PropType<FormComponentProps["onCancel"]>;
        default: () => undefined;
    };
    onSuccess: {
        type: PropType<FormComponentProps["onSuccess"]>;
        default: () => undefined;
    };
    onError: {
        type: PropType<FormComponentProps["onError"]>;
        default: () => undefined;
    };
    onSubmitComplete: {
        type: PropType<FormComponentProps["onSubmitComplete"]>;
        default: () => undefined;
    };
    disableWhileProcessing: {
        type: BooleanConstructor;
        default: boolean;
    };
    invalidateCacheTags: {
        type: PropType<FormComponentProps["invalidateCacheTags"]>;
        default: () => never[];
    };
    validateFiles: {
        type: PropType<FormComponentProps["validateFiles"]>;
        default: boolean;
    };
    validationTimeout: {
        type: PropType<FormComponentProps["validationTimeout"]>;
        default: number;
    };
    withAllErrors: {
        type: PropType<FormComponentProps["withAllErrors"]>;
        default: null;
    };
}>> & Readonly<{}>, {
    transform: ((data: Record<string, FormDataConvertible>) => Record<string, FormDataConvertible>) | undefined;
    method: Method | "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | undefined;
    headers: Record<string, string> | undefined;
    errorBag: string | null | undefined;
    queryStringArrayFormat: import("@inertiajs/core").QueryStringArrayFormatOption | undefined;
    showProgress: boolean;
    invalidateCacheTags: string | string[] | undefined;
    onCancelToken: import("@inertiajs/core").CancelTokenCallback | undefined;
    onBefore: import("@inertiajs/core").GlobalEventCallback<"before", import("@inertiajs/core").RequestPayload> | undefined;
    onStart: import("@inertiajs/core").GlobalEventCallback<"start", import("@inertiajs/core").RequestPayload> | undefined;
    onProgress: import("@inertiajs/core").GlobalEventCallback<"progress", import("@inertiajs/core").RequestPayload> | undefined;
    onFinish: import("@inertiajs/core").GlobalEventCallback<"finish", import("@inertiajs/core").RequestPayload> | undefined;
    onCancel: import("@inertiajs/core").GlobalEventCallback<"cancel", import("@inertiajs/core").RequestPayload> | undefined;
    onSuccess: import("@inertiajs/core").GlobalEventCallback<"success", import("@inertiajs/core").RequestPayload> | undefined;
    onError: import("@inertiajs/core").GlobalEventCallback<"error", import("@inertiajs/core").RequestPayload> | undefined;
    options: import("@inertiajs/core").FormComponentOptions | undefined;
    withAllErrors: boolean | null | undefined;
    action: string | import("@inertiajs/core").UrlMethodPair | undefined;
    resetOnError: boolean | string[] | undefined;
    resetOnSuccess: boolean | string[] | undefined;
    setDefaultsOnSuccess: boolean | undefined;
    onSubmitComplete: ((props: import("@inertiajs/core").FormComponentonSubmitCompleteArguments) => void) | undefined;
    validateFiles: boolean | undefined;
    validationTimeout: number | undefined;
    disableWhileProcessing: boolean;
}, SlotsType<{
    default: FormComponentSlotProps;
}>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export declare function useFormContext(): FormComponentRef | undefined;
export default Form;
