import { CSSProperties, KeyboardEventHandler, ReactNode } from 'react';
import { FieldValues, UseFormReturn } from 'react-hook-form';
interface FTextFieldProps {
    id?: string;
    placeholder?: string;
    className?: string;
    required?: boolean;
    disabled?: boolean;
    suffix?: ReactNode;
    prefix?: ReactNode;
    name?: string;
    methods: UseFormReturn<any, any, undefined>;
    onBlur?: React.FocusEventHandler<HTMLInputElement>;
    onChange?: React.ChangeEventHandler<HTMLInputElement>;
    onComplete?: KeyboardEventHandler<HTMLInputElement>;
}
export declare const FTextField: import('react').ForwardRefExoticComponent<FTextFieldProps & import('react').RefAttributes<any>>;
export declare const FInputPassword: import('react').ForwardRefExoticComponent<FTextFieldProps & import('react').RefAttributes<any>>;
interface FTextAreaProps {
    id?: string;
    autoHeight?: boolean;
    placeholder?: string;
    className?: string;
    required?: boolean;
    disabled?: boolean;
    suffix?: ReactNode;
    prefix?: ReactNode;
    name?: string;
    methods: UseFormReturn<FieldValues, any, undefined>;
    onBlur?: React.FocusEventHandler<HTMLTextAreaElement>;
    onChange?: React.ChangeEventHandler<HTMLTextAreaElement>;
}
export declare const FTextArea: import('react').ForwardRefExoticComponent<FTextAreaProps & import('react').RefAttributes<any>>;
interface FRadioButtonProps {
    id?: string;
    label?: string;
    labelPosition?: "left" | "right";
    onChange?: React.ChangeEventHandler<HTMLInputElement>;
    value?: string;
    cheked?: boolean;
    disabled?: boolean;
    style?: CSSProperties;
    size?: number | string;
    name?: string;
    activeColor?: string;
    offColor?: string;
    className?: string;
    methods: UseFormReturn<FieldValues, any, undefined>;
}
export declare const FRadioButton: import('react').ForwardRefExoticComponent<FRadioButtonProps & import('react').RefAttributes<any>>;
interface FCheckboxProps {
    id?: string;
    label?: string;
    labelPosition?: "left" | "right";
    checkColor?: string;
    activeColor?: string;
    shape?: "rectangle" | "circle";
    disabled?: boolean;
    style?: CSSProperties;
    size?: number | string;
    name?: string;
    className?: string;
    methods: UseFormReturn<FieldValues, any, undefined>;
}
interface FCheckbox1Props extends FCheckboxProps {
    value?: boolean;
    onChange?: (value: boolean, target: HTMLInputElement) => void;
}
export declare const FCheckbox: import('react').ForwardRefExoticComponent<FCheckbox1Props & import('react').RefAttributes<any>>;
interface FSwitchProps {
    id?: string;
    label?: string;
    labelPosition?: "left" | "right";
    onChange?: (value: boolean) => void;
    value?: boolean;
    dotColor?: string;
    onBackground?: string;
    disabled?: boolean;
    style?: CSSProperties;
    size?: number | string;
    name?: string;
    className?: string;
    methods: UseFormReturn<FieldValues, any, undefined>;
}
export declare const FSwitch: import('react').ForwardRefExoticComponent<FSwitchProps & import('react').RefAttributes<any>>;
interface FDropdownSelectProps {
    id?: string;
    name?: string;
    methods: UseFormReturn<FieldValues, any, undefined>;
    value?: any;
    required?: boolean;
    readOnly?: boolean;
    disabled?: boolean;
    className?: string;
    style?: CSSProperties;
    options: Array<{
        id: string | number;
        name: string;
        [p: string]: any;
    }>;
    getOptions?: (params: {
        length: number;
        search?: string;
        parentId?: string | number;
    }) => Promise<{
        data: Array<{
            id: string | number;
            name: string;
            [p: string]: any;
        }>;
        totalCount: number;
    }>;
    onChange?: (v?: any) => void;
    multiple?: boolean;
    dropdownStyle?: CSSProperties;
    prefix?: ReactNode;
    suffix?: ReactNode;
    previewMaxLength?: number;
    showClearValueButton?: boolean;
    customPreviewValue?: ReactNode;
}
export declare const FSelectDropdownForm: import('react').ForwardRefExoticComponent<FDropdownSelectProps & import('react').RefAttributes<any>>;
interface FGroupRadioButtonProps extends FRadioButtonProps {
    options: Array<{
        id: string;
        name: string;
    }>;
}
export declare const FGroupRadioButton: import('react').ForwardRefExoticComponent<FGroupRadioButtonProps & import('react').RefAttributes<any[]>>;
interface FGroupCheckboxProps extends FCheckboxProps {
    value?: string;
    options: Array<{
        id: string;
        name: string;
    }>;
    onChange?: (value?: string) => void;
}
export declare const FGroupCheckbox: ({ labelPosition, shape, ...props }: FGroupCheckboxProps) => import("react/jsx-runtime").JSX.Element | import("react/jsx-runtime").JSX.Element[];
interface FColorPickerProps {
    id?: string;
    placeholder?: string;
    disabled?: boolean;
    readOnly?: boolean;
    className?: string;
    style?: CSSProperties;
    value?: string;
    onChange?: (v: string) => void;
    name?: string;
    required?: boolean;
    methods: UseFormReturn<FieldValues, any, undefined>;
}
export declare const FColorPicker: ({ methods, ...props }: FColorPickerProps) => import("react/jsx-runtime").JSX.Element;
interface FNumberPickerProps {
    id?: string;
    value?: number;
    onChange?: (ev: number) => void;
    disabled?: boolean;
    readOnly?: boolean;
    className?: string;
    helperText?: string;
    helperTextColor?: string;
    volume?: number;
    style?: CSSProperties;
    min?: number;
    max?: number;
    type?: "outline" | "icon-button";
    name?: string;
    required?: boolean;
    methods: UseFormReturn<FieldValues, any, undefined>;
}
export declare const FNumberPicker: ({ type, methods, ...props }: FNumberPickerProps) => import("react/jsx-runtime").JSX.Element;
interface FDateTimePickerProps {
    id?: string;
    value?: Date;
    endValue?: Date;
    min?: Date;
    max?: Date;
    pickOnly?: boolean;
    placeholder?: string;
    className?: string;
    style?: CSSProperties;
    disabled?: boolean;
    pickerType?: "date" | "datetime";
    prefix?: ReactNode;
    suffix?: ReactNode;
    onChange?: (ev?: Date | {
        [p: string]: any;
    }) => void;
    name?: string;
    methods: UseFormReturn<FieldValues, any, undefined>;
}
export declare const FDateTimePicker: ({ methods, prefix, ...props }: FDateTimePickerProps) => import("react/jsx-runtime").JSX.Element;
interface FUploadFileProps {
    id?: string;
    value?: File | Array<File> | {
        [k: string]: any;
    } | Array<{
        [k: string]: any;
    }>;
    buttonOnly?: boolean;
    onChange?: (a?: Array<File> | Array<{
        [k: string]: any;
    }>) => void;
    label?: string;
    className?: string;
    style?: CSSProperties;
    allowType?: Array<string>;
    subTitle?: string;
    multiple?: boolean;
    disabled?: boolean;
    fileTagStyle?: CSSProperties;
    maxSize?: number;
    name?: string;
    required?: boolean;
    methods: UseFormReturn<FieldValues, any, undefined>;
}
export declare const FUploadFile: ({ methods, ...props }: FUploadFileProps) => import("react/jsx-runtime").JSX.Element;
interface FUploadMultipleFileTypeFormProps {
    methods: UseFormReturn<FieldValues, any, undefined>;
    name?: string;
    className?: string;
    style?: CSSProperties;
    placeholder?: string;
    multiple?: boolean;
    allowType?: string[];
    onChange?: (a?: Array<File> | Array<{
        [p: string]: any;
    }>) => void;
    uploadElementStyle?: CSSProperties;
    uploadElementClassName?: string;
    suffix?: ReactNode;
    prefix?: ReactNode;
    label?: string;
    disabled?: boolean;
    readOnly?: boolean;
}
export declare const FUploadMultipleFileType: import('react').ForwardRefExoticComponent<FUploadMultipleFileTypeFormProps & import('react').RefAttributes<any>>;
export {};
//# sourceMappingURL=component-form.d.ts.map