import React, { ReactNode } from 'react';
export interface FormContextType {
    isSubmitting: boolean;
    isDirty: boolean;
    errors: Record<string, string>;
    touched: Record<string, boolean>;
    values: Record<string, any>;
    setFieldValue: (field: string, value: any) => void;
    setFieldTouched: (field: string, touched: boolean) => void;
    setFieldError: (field: string, error: string) => void;
    handleSubmit: (e: React.FormEvent) => void;
    handleReset: () => void;
}
export declare const FormContext: React.Context<FormContextType | null>;
export declare const useFormContext: () => FormContextType;
export interface FormProps {
    onSubmit: (values: Record<string, any>) => void | Promise<void>;
    onReset?: () => void;
    initialValues?: Record<string, any>;
    validate?: (values: Record<string, any>) => Record<string, string>;
    children: ReactNode;
    className?: string;
    ariaLabel?: string;
    role?: 'form' | 'search' | 'none' | 'presentation';
    noValidate?: boolean;
    autoComplete?: 'on' | 'off';
    method?: 'get' | 'post';
    action?: string;
    encType?: string;
}
declare const Form: React.FC<FormProps>;
export default Form;
//# sourceMappingURL=Form.d.ts.map