import type { DataProvider, SortColumn } from "@bokeh/slickgrid"; import { Grid as SlickGrid } from "@bokeh/slickgrid"; import type * as p from "../../../core/properties"; import type { StyleSheetLike } from "../../../core/dom"; import type { Arrayable } from "../../../core/types"; import type { DOMBoxSizing } from "../../layouts/layout_dom"; import { WidgetView } from "../widget"; import type { ColumnType, Item } from "./definitions"; import { TableWidget } from "./table_widget"; import { TableColumn } from "./table_column"; import type { ColumnarDataSource } from "../../sources/columnar_data_source"; import type { CDSView, CDSViewView } from "../../sources/cds_view"; import type { View } from "../../../core/build_views"; export declare const AutosizeModes: { fit_columns: "FCV"; fit_viewport: "FVC"; force_fit: "LFF"; none: "NOA"; }; export type AutosizeMode = "FCV" | "FVC" | "LFF" | "NOA"; export declare class TableDataProvider implements DataProvider { index: number[]; source: ColumnarDataSource; view: CDSView; constructor(source: ColumnarDataSource, view: CDSView); init(source: ColumnarDataSource, view: CDSView): void; getLength(): number; getItem(offset: number): Item; getField(offset: number, field: string): unknown; setField(offset: number, field: string, value: unknown): void; getRecords(): Item[]; getItems(): Item[]; slice(start: number, end: number | null, step?: number): Item[]; sort(columns: SortColumn[]): void; } export declare class DataTableView extends WidgetView { model: DataTable; protected cds_view: CDSViewView; protected data: TableDataProvider; protected grid: SlickGrid; protected _in_selection_update: boolean; protected _width: number | null; private _filtered_selection; get data_source(): p.Property; protected wrapper_el: HTMLElement; children_views(): View[]; lazy_initialize(): Promise; remove(): void; connect_signals(): void; stylesheets(): StyleSheetLike[]; _after_resize(): void; _after_layout(): void; box_sizing(): DOMBoxSizing; updateLayout(initialized: boolean, rerender: boolean): void; updateGrid(): void; updateSelection(): void; newIndexColumn(): ColumnType; get autosize(): AutosizeMode; render(): void; protected _render_table(): void; _after_render(): void; _hide_header(): void; get_selected_rows(): number[]; protected _sync_selected_with_view(): void; } export declare namespace DataTable { type Attrs = p.AttrsOf; type Props = TableWidget.Props & { autosize_mode: p.Property<"fit_columns" | "fit_viewport" | "none" | "force_fit">; auto_edit: p.Property; columns: p.Property; fit_columns: p.Property; frozen_columns: p.Property; frozen_rows: p.Property; sortable: p.Property; reorderable: p.Property; editable: p.Property; selectable: p.Property; index_position: p.Property; index_header: p.Property; index_width: p.Property; scroll_to_selection: p.Property; header_row: p.Property; row_height: p.Property; multi_selectable: p.Property; }; } export interface DataTable extends DataTable.Attrs { } export declare class DataTable extends TableWidget { properties: DataTable.Props; __view_type__: DataTableView; private _sort_columns; get sort_columns(): { field: string; sortAsc: boolean; }[]; constructor(attrs?: Partial); update_sort_columns(sort_cols: SortColumn[]): void; get_scroll_index(grid_range: { top: number; bottom: number; }, selected_indices: Arrayable): number | null; } //# sourceMappingURL=data_table.d.ts.map