import React, { Dispatch, KeyboardEvent, MutableRefObject, SetStateAction } from 'react';
import { ICellInfo, IColumnTable, IFTableEditButton, IFTableEditToolbar } from '../type';
interface CellComponentProps {
    col: IColumnTable;
    row: any;
    indexRow: number;
    indexCol: number;
    isSelected: boolean;
    gridRef: any;
    objWidthFixLeft: Record<number, number>;
    objWidthFixRight: Record<number, number>;
    lastObjWidthFixLeft: number;
    fisrtObjWidthFixRight: number;
    selectedCell?: {
        minRow: number;
        maxRow: number;
        minCol: number;
        maxCol: number;
    };
    startCell: ICellInfo;
    editCell?: ICellInfo;
    editDisable?: boolean;
    addDisable?: boolean;
    fieldKey: string;
    defaultValue: any;
    dataSource: any[];
    formatSetting?: any;
    selectEnable?: boolean;
    isMulti?: boolean;
    selectedRows: any[];
    visibleContentColumns: any[];
    containerRef?: any;
    totalCount: number;
    toolbarSetting?: IFTableEditToolbar;
    buttonSetting?: IFTableEditButton;
    fieldUniKey?: string[];
    idTable?: string;
    isCopying: MutableRefObject<boolean>;
    typeDragging: MutableRefObject<number>;
    contentColumns: IColumnTable[];
    setSelectedCell: Dispatch<SetStateAction<{
        minRow: number;
        maxRow: number;
        minCol: number;
        maxCol: number;
    } | undefined>>;
    setStartCell: Dispatch<SetStateAction<ICellInfo>>;
    handeCopyCell: (indexColCopy: number, indexRowCopy: number, maxRowPaste: number) => Promise<void>;
    focusEditElementCell: (e: KeyboardEvent<any> | React.MouseEvent<HTMLDivElement, MouseEvent>, row: number, rol: number, isOpenDropDown?: boolean) => void;
    rowChange?: (row: any, indexRow: number, field: string) => void;
    handleDataChange: (row: any, col: IColumnTable, indexRow: number) => void;
    changeDataSource: (data: any[]) => void;
    setSelectedRows: (rows: any[]) => void;
    handleCommandClick: (...args: any[]) => void;
    handleDuplicate: (...args: any[]) => void;
    handleKeyDown: (e: React.KeyboardEvent<HTMLDivElement>, row: any) => void;
    onDuplicate?: (...args: any[]) => void;
}
declare const CellComponent: React.FC<CellComponentProps>;
export default CellComponent;
