import { DataColumn, DisplayColumn, GroupColumn, type Column, type DataColumnInitBase, type DataColumnInitFnAndId, type DataColumnInitIdAndKey, type DataColumnInitKey, type DisplayColumnInit, type GroupColumnInit } from './columns.js'; import type { AnyPlugins } from './types/TablePlugin.js'; import type { ReadOrWritable } from './utils/store.js'; import { type CreateViewModelOptions, type TableViewModel } from './createViewModel.js'; export declare class Table { data: ReadOrWritable; plugins: Plugins; constructor(data: ReadOrWritable, plugins: Plugins); createColumns(columns: Column[]): Column[]; column>(def: DataColumnInitBase & DataColumnInitKey): DataColumn; column(def: DataColumnInitBase & DataColumnInitIdAndKey): DataColumn; column(def: DataColumnInitBase & DataColumnInitFnAndId): DataColumn; group(def: GroupColumnInit): GroupColumn; display(def: DisplayColumnInit): DisplayColumn; createViewModel(columns: Column[], options?: CreateViewModelOptions): TableViewModel; } export declare const createTable: (data: ReadOrWritable, plugins?: Plugins) => Table;