interface CellAddress { sheetName?: string; address: string; row: number; col: number; top?: number; bottom?: number; left?: number; right?: number; } type Cell = CellAddress & any; type Row = Cell[]; type Sheet = Row[]; declare class CellMatrix { template: any; sheets: Map; constructor(template?: any); addCell(addressStr: string): void; getCell(addressStr: string): Cell; findCell(addressStr: string): Cell | undefined; findCellAt(sheetName: string, rowNumber: number, colNumber: number): Cell | undefined; addCellEx(address: CellAddress): void; getCellEx(address: CellAddress): Cell; findCellEx(address: CellAddress, create: boolean): Cell | undefined; getCellAt(sheetName: string, rowNumber: number, colNumber: number): Cell; removeCellEx(address: CellAddress): void; forEachInSheet(sheetName: string, callback: (cell: Cell, rowNumber: number, colNumber: number) => void): void; forEach(callback: (cell: Cell) => void): void; map(callback: (cell: Cell) => T): T[]; findSheet(address: CellAddress, create: boolean): Sheet | undefined; findSheetRow(sheet: Sheet | undefined, address: CellAddress, create: boolean): Row | undefined; findRowCell(row: Row | undefined, address: CellAddress, create: boolean): Cell | undefined; spliceRows(sheetName: string, start: number, numDelete: number, numInsert: number): void; spliceColumns(sheetName: string, start: number, numDelete: number, numInsert: number): void; } export { CellMatrix };