import * as React from "react"; export type SpreadsheetColumn = { key: string; label: React.ReactNode; width?: number | string; align?: "left" | "center" | "right"; readOnly?: boolean; formatter?: (value: string, row: SpreadsheetRow) => React.ReactNode; }; export type SpreadsheetRow = { key: string; cells: Record; readOnly?: boolean; }; export type SpreadsheetSelection = { rowKey: string; columnKey: string; }; export type SpreadsheetProps = Omit, "onChange"> & { columns: SpreadsheetColumn[]; rows?: SpreadsheetRow[]; defaultRows?: SpreadsheetRow[]; onRowsChange?: (rows: SpreadsheetRow[], selection?: SpreadsheetSelection) => void; onCellChange?: (value: string, selection: SpreadsheetSelection, rows: SpreadsheetRow[]) => void; selectedCell?: SpreadsheetSelection; defaultSelectedCell?: SpreadsheetSelection; onSelectedCellChange?: (selection: SpreadsheetSelection) => void; readOnly?: boolean; showRowNumbers?: boolean; showAddRow?: boolean; addRowLabel?: React.ReactNode; empty?: React.ReactNode; }; declare function Spreadsheet({ columns, rows: rowsProp, defaultRows, onRowsChange, onCellChange, selectedCell, defaultSelectedCell, onSelectedCellChange, readOnly, showRowNumbers, showAddRow, addRowLabel, empty, className, ...props }: SpreadsheetProps): React.JSX.Element; export { Spreadsheet };