import type { ChangeEvent, FocusEvent, KeyboardEvent } from "react";
import type { FieldValues, UseFormSetValue } from "react-hook-form";
import type { FormFieldProps, FormFieldTypes } from "../FormFieldTypes";
export interface useAtlantisFormFieldActionsProps extends Pick<FormFieldProps, "onChange" | "inputRef" | "onEnter" | "readonly" | "onFocus" | "onBlur" | "onValidation" | "onEnter"> {
    readonly name: string;
    readonly onControllerChange: (...event: unknown[]) => void;
    readonly onControllerBlur: () => void;
    readonly type: FormFieldTypes;
    readonly setValue: UseFormSetValue<FieldValues>;
}
/**
 * Combines the actions from the props of the FormField with the actions from react-hook-form. This is used to
 * manage the form state of a field through react-hook-form while providing support for additional callbacks
 */
export declare function useAtlantisFormFieldActions({ name, onChange, inputRef, onControllerChange, onControllerBlur, onEnter, readonly, type, setValue, onFocus, onBlur, onValidation, }: useAtlantisFormFieldActionsProps): {
    handleClear: () => void;
    handleChange: (event: ChangeEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>) => void;
    handleKeyDown: (event: KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => void;
    handleFocus: (event: FocusEvent<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>) => void;
    handleBlur: () => void;
    handleValidation: (message: string) => void;
};
