import { FocusEventHandler } from 'react'; import { CapInputSize, InputVariantColor } from '../enums'; import { FormControlContext } from './FormControl'; export type FunctionArguments = T extends (...args: infer R) => any ? R : never; export declare function callAllHandlers void>(...fns: (T | undefined)[]): (event: FunctionArguments[0]) => void; export interface UseFormControlProps extends FormControlContext { id?: string; onFocus?: FocusEventHandler; onBlur?: FocusEventHandler; disabled?: boolean; required?: boolean; readOnly?: boolean; variantSize?: CapInputSize; variantColor?: InputVariantColor; 'aria-describedby'?: string; } export declare function useFormControl(props: UseFormControlProps): { variantSize: CapInputSize; variantColor: InputVariantColor; disabled: boolean; readOnly: boolean; required: boolean; 'aria-invalid': true | undefined; 'aria-required': true | undefined; id: string | undefined; inputId: string | undefined; onFocus: (event: import("react").FocusEvent) => void; onBlur: (event: import("react").FocusEvent) => void; 'aria-describedby'?: string; };