import type { LocaleProps, ThemeProps } from 'jamis-core';
import type { ControllerProps as ReactHookFormControllerProps, RegisterOptions } from 'react-hook-form';
export interface FormFieldProps extends LocaleProps, ThemeProps {
    mode?: 'normal' | 'horizontal';
    horizontal?: {
        left?: number;
        right?: number;
        leftFixed?: boolean | number | 'xs' | 'sm' | 'md' | 'lg';
        justify?: boolean;
    };
    label?: string;
    description?: string;
    isRequired?: boolean;
    hasError?: boolean;
    errors?: string | Array<string>;
    children?: JSX.Element;
}
declare function FormField(props: FormFieldProps): JSX.Element;
export default FormField;
export interface ControllerProps extends ReactHookFormControllerProps, Omit<FormFieldProps, keyof ThemeProps | keyof LocaleProps> {
    rules?: Omit<RegisterOptions, 'valueAsNumber' | 'valueAsDate' | 'setValueAs' | 'disabled'> & {
        [propName: string]: any;
    };
}
export declare function FormFieldController(props: ControllerProps): JSX.Element;
