import { Dispatch, ReactNode, SetStateAction } from 'react';
import { FormDataType, GenericFormParams } from './types';
import { CModalProps } from '../surfaces/Modal';

export type GenericFormModalProps<F extends FormDataType = FormDataType> = Omit<CModalProps, 'hideConfirmationButton' | 'nonConfirmationLabel' | 'placeNonConfirmationButtonOnLeft' | 'isConfirmation' | 'onClose' | 'onConfirm' | 'open'> & {
    onClose: () => void;
    onConfirm: (newFormdata: F) => void;
    formProps: GenericFormParams;
    subheader?: ReactNode;
    formData?: F;
    setFormData?: Dispatch<SetStateAction<F>>;
    files?: {
        [key: string]: {
            file: File;
            filename: string;
        }[];
    };
    onFileChange?: (name: string, files: File[]) => void;
};
export declare function GenericFormModal<F extends FormDataType = FormDataType>(props: GenericFormModalProps<F>): import("react/jsx-runtime").JSX.Element;
