import type { Dispatch, SetStateAction } from 'react';
import { Control, FieldErrors, FieldValues, UseFormGetValues, UseFormRegister, UseFormReset, UseFormSetValue, UseFormTrigger, UseFormUnregister, UseFormWatch } from 'react-hook-form';
export declare enum FieldType {
    INPUT = 0,
    MULT_INPUT = 1,
    PHONE = 2,
    CPF_CNPJ = 3,
    CPF = 4,
    CNPJ = 5,
    RG = 6,
    EMAIL = 7,
    ACTIVE = 8,
    CHECKBOX = 9,
    CHECKBOX_WARNING = 10,
    OTHER_CHECKBOX = 11,
    LABEL = 12,
    CUSTOM = 13,
    FILE = 14,
    MULT_FILE = 15,
    DATE = 16,
    TIME = 17,
    NUMBER = 18,
    AUTO_COMPLETE = 19
}
export declare enum ColumnDirection {
    ROW = "row",
    COLUMN = "column"
}
export interface FormField {
    type?: FieldType;
    name?: string;
    title?: string;
    required?: boolean;
    customPlaceholder?: string;
    size?: number;
    customForm?: React.ReactElement;
    customData?: any;
}
export interface FormData {
    title: string;
    required: boolean;
    formFields: FormField[];
    name?: string;
}
export interface FormContextType {
    formRegister: UseFormRegister<FieldValues>;
    formWatch: UseFormWatch<FieldValues>;
    formReset: UseFormReset<FieldValues>;
    formControl: Control<FieldValues, any>;
    formSetValue: UseFormSetValue<FieldValues>;
    formTrigger: UseFormTrigger<FieldValues>;
    formUnregister: UseFormUnregister<FieldValues>;
    formGetValues: UseFormGetValues<FieldValues>;
    setFilesUid: Dispatch<SetStateAction<{
        CO_SEQ_ARQUIVO: number;
        CO_TIPO_ARQUIVO: number;
    }[]>>;
    errors: FieldErrors<FieldValues>;
    submiting: boolean;
}
export type FilesID = {
    CO_SEQ_ARQUIVO: number;
    CO_TIPO_ARQUIVO: number;
}[];
