import React from 'react';
import { Point } from './ExcelFileComponents/index';
import './ExcelFile.scss';
import { ContextMenuState } from './ExcelFileComponents/types';
interface ExcelFileProps {
    /**
     * The Excel data containing all the sheets and their respective content.
     */
    excelData: WorkSheet[];
    /**
     * Make the Excel Sheet Freeze or Editable using the boolean key.
     */
    editable?: boolean;
    /**
     * Optional configuration for the context menu (usually shown on right-click).
     * This allows customization of the context menu options with a label, value, icon, and action to be performed.
     * open: boolean;
     * Whether the context menu should be enabled (open or not).
     * If set to true, the context menu will be shown, otherwise, it will be disabled.
     * options: optionsType[];
     * Array of options available in the context menu. Each option contains a label (display name),
     * value (identifier), iconName (icon to display), and action (function to be executed on click).
     */
    contextOption?: ContextMenuState;
    /**
     * Controls whether the toolbar is shown or hidden.
     * Possible values:
     * - 'show' to display the toolbar
     * - 'hide' to hide the toolbar
     */
    toolbar?: 'show' | 'disable' | 'hide';
    /**
     * Controls whether the sheet navigation bar (tabs) is shown or hidden.
     * Possible values:
     * - 'show' to display the sheet bar
     * - 'hide' to hide the sheet bar
     * - 'readOnly' to view the sheet bar
     */
    sheetBar?: 'show' | 'readOnly' | 'hide';
    /**
     * Optional: The total number of rows in the Excel sheet.
     * This helps in determining the size and content of the sheet.
     */
    rowCount?: number;
    /**
     * Optional: The total number of columns in the Excel sheet.
     * This helps in determining the structure of the sheet.
     */
    colCount?: number;
    onSave?: (saveData: SaveData[], headerOldNewData?: {
        sheetName: string;
        headers: {
            newData: string;
            oldData: string;
        }[];
    }[]) => void;
    onSaveInfoChange?: (info: string) => void;
    /**
     * Delay time (in milliseconds) before the onSave callback is executed.
     */
    onSaveDelay?: number;
    /**
     * Optional: Sets the vertical (Y-axis) positioning of the context menu.
     * This allows precise control over where the context menu appears on the screen.
     */
    contextHeightPositioning?: number;
    /**
     * Optional: Sets the horizontal (X-axis) positioning of the context menu.
     * This allows precise control over where the context menu appears on the screen.
     */
    contextWidthPositioning?: number;
    /**
     * Optional: Dynamically sets the height of the sheet view area.
     * This can be useful if you want to change the height of the sheet display.
     */
    sheetHeight?: string;
    /**
     * Optional: Enables or disables the context menu for columns.
     * When set to true, column-related context menu actions are enabled.
     */
    columnContextEnable?: boolean;
    /**
     * Optional: Enables or disables the context menu for rows.
     * When set to true, row-related context menu actions are enabled.
     */
    rowContextEnable?: boolean;
    sheetBarContextEnable?: boolean;
    minimumColumnWidth?: number;
    scroller?: boolean;
    attachmentAction?: {
        addAttachment: (file: File) => Promise<string>;
        deleteAttachment: (fileId: string) => Promise<string>;
        viewAttachment: (fileId: string, fileName: string) => Promise<void>;
    };
    disableDeleteOption?: boolean;
    maxRowLimit?: number;
    maxColLimit?: number;
    maxSheetLimit?: number;
    getActiveCell?: (cell: {
        value: string;
        active: Point;
    }) => void;
}
declare const ExcelFile: React.FC<ExcelFileProps>;
export default ExcelFile;
