import { type FormComponentProps, type FormComponentSlotProps, type FormDataConvertible } from '@inertiajs/core';
import { type NamedInputEvent, type ValidationConfig, type Validator } from 'laravel-precognition';
interface Props {
    action?: FormComponentProps['action'];
    method?: FormComponentProps['method'];
    headers?: FormComponentProps['headers'];
    queryStringArrayFormat?: FormComponentProps['queryStringArrayFormat'];
    errorBag?: FormComponentProps['errorBag'];
    showProgress?: FormComponentProps['showProgress'];
    transform?: FormComponentProps['transform'];
    options?: FormComponentProps['options'];
    onCancelToken?: FormComponentProps['onCancelToken'];
    onBefore?: FormComponentProps['onBefore'];
    onStart?: FormComponentProps['onStart'];
    onProgress?: FormComponentProps['onProgress'];
    onFinish?: FormComponentProps['onFinish'];
    onCancel?: FormComponentProps['onCancel'];
    onSuccess?: FormComponentProps['onSuccess'];
    onError?: FormComponentProps['onError'];
    onSubmitComplete?: FormComponentProps['onSubmitComplete'];
    disableWhileProcessing?: boolean;
    invalidateCacheTags?: FormComponentProps['invalidateCacheTags'];
    resetOnError?: FormComponentProps['resetOnError'];
    resetOnSuccess?: FormComponentProps['resetOnSuccess'];
    setDefaultsOnSuccess?: FormComponentProps['setDefaultsOnSuccess'];
    validateFiles?: FormComponentProps['validateFiles'];
    validationTimeout?: FormComponentProps['validationTimeout'];
    optimistic?: FormComponentProps['optimistic'];
    withAllErrors?: FormComponentProps['withAllErrors'];
    children?: import('svelte').Snippet<[FormComponentSlotProps]>;
    [key: string]: any;
}
type FormSubmitter = HTMLElement | null;
declare const Form: import("svelte").Component<Props, {
    getFormData: (submitter?: FormSubmitter) => FormData;
    getData: (submitter?: FormSubmitter) => Record<string, FormDataConvertible>;
    submit: (submitter?: FormSubmitter) => void;
    reset: (...fields: string[]) => void;
    clearErrors: (...fields: string[]) => void;
    resetAndClearErrors: (...fields: string[]) => void;
    setError: (fieldOrFields: string | Record<string, string>, maybeValue?: string) => void;
    defaults: () => void;
    validate: (field?: string | NamedInputEvent | ValidationConfig, config?: ValidationConfig) => import("../useForm.svelte").InertiaFormProps<Record<string, any>> & Record<string, any> & import("../useForm.svelte").InertiaFormValidationProps<Record<string, any>>;
    valid: (field: string) => boolean;
    invalid: (field: string) => boolean;
    touch: (field: string | NamedInputEvent | string[], ...fields: string[]) => import("../useForm.svelte").InertiaFormProps<Record<string, any>> & Record<string, any> & import("../useForm.svelte").InertiaFormValidationProps<Record<string, any>>;
    touched: (field?: string) => boolean;
    validator: () => Validator;
}, "action">;
type Form = ReturnType<typeof Form>;
export default Form;
