import { FormInstance, Rule } from "antd/es/form";
interface FormFieldOption {
    label: string;
    value: string | number | boolean;
    disabled?: boolean;
}
interface MultipleCheckboxItem {
    name: string;
    label: string;
    disabled?: boolean;
}
type FormFieldType = 'text' | 'number' | 'password' | 'dropdown' | 'date' | 'rangepicker' | 'currencySelect' | 'toggle' | 'checkboxGroup' | 'multipleCheckboxRow' | 'colorPicker';
interface FormFieldConfig {
    type: FormFieldType;
    name?: string;
    label?: string;
    defaultValue?: any;
    disabled?: boolean;
    rules?: Rule[];
    required?: boolean;
    options?: FormFieldOption[];
    minvalue?: number;
    maxvalue?: number;
    css?: string;
    checkboxGroup?: FormFieldOption[];
    multipleCheckboxRow?: MultipleCheckboxItem[];
    minDate?: string;
}
interface RFormWithDrawerProps {
    title: string;
    open: boolean;
    closePanle: () => void;
    formConfig: FormFieldConfig[];
    onSubmit: (values: any, isSaveAndAddMore: boolean) => void;
    drawerId: string;
    record?: Record<string, any> | null;
    loading?: boolean;
    size?: number | string;
    RowItem?: number;
    handleFieldChange?: (changedValues: any, allValues: any, form: FormInstance) => void;
    buttonText?: string;
    saveAndAddMoreButton?: boolean;
    dateFormat?: string;
}
export { RFormWithDrawerProps, FormFieldConfig };
