import { Client } from '../client'; import { Column, ColumnArray } from './column'; import { View } from './view'; import { Row, RowArray } from './row'; import { ColumnConfig, EventCallback, FilterFn, SortFn } from '../types'; import { Cell, CellArray } from './cell'; import { UpdateCellInput, ViewInput } from './input.interface'; import { Subscription } from 'rxjs'; export declare class Table { private _client; workspaceId: string; coreId: string; id: string; name: string; views: Map; constructor(client: Client, workspaceId: string, coreId: string, id: string, name: string, views?: Map); onViewAdded(cb: EventCallback): Subscription; onColumnAdded(cb: EventCallback): Subscription; onRowAdded(cb: EventCallback): Subscription; onCellUpdated(cb: EventCallback): Subscription; on(cb: EventCallback): Subscription; getCells(): CellArray; addView(input: ViewInput): Promise; addRow(): Promise; addColumn(columnConfig: ColumnConfig): Promise; view(id: string): View; updateCell(input: UpdateCellInput): Promise; addRows(number: number): Promise; addColumns(input: ColumnConfig[]): Promise; updateCells(input: UpdateCellInput[]): Promise; } export declare class TableArray { private _client; tables: Table[]; constructor(client: Client, tables: Table[]); select(maxSize?: number | FilterFn, filter?: FilterFn): TableArray; sort(sortFn: SortFn): TableArray; onViewAdded(cb: EventCallback): Subscription[]; onColumnAdded(cb: EventCallback): Subscription[]; onRowAdded(cb: EventCallback): Subscription[]; onCellUpdated(cb: EventCallback): Subscription[]; on(cb: EventCallback): Subscription[]; }