import { Column, GridOption, OnKeyDownEventArgs, SlickDataView, SlickEventData, SlickGrid, } from "slickgrid"; import { IColumnPicker } from "./IColumnPicker"; import { IDownloadManager } from "./IDownloadManager"; import { IEditedRow } from "./IEditedRow"; import { IFilter } from "./IFilter"; import { IGrouping } from "./IGrouping"; import { IHotKeysBehavior } from "./IHotKeysBehavior"; import { IObserver } from "./IObserver"; import { IPrinter } from "./IPrinter"; import { ISlickRow } from "./ISlickRow"; import { ITotalCalculator } from "./ITotalCalculator"; export interface ISlickTable { columnPicker: IColumnPicker | null; copiedRows: (ISlickRow & IEditedRow)[]; createGrid( dataView: SlickDataView, columns: Column[], options: GridOption, ): SlickGrid; deleteObserver(observer: IObserver): void; downloadManager: IDownloadManager; filter: IFilter; grid: SlickGrid | null; grouping: IGrouping; handleKeyboardEvent(event: SlickEventData): void; readonly hotKeysBehavior: IHotKeysBehavior; readonly id: string; isActive: boolean; isEdited: boolean; lastActiveSell: { row: number; cell: number }; printer: IPrinter; readonly name: string; notifyObservers(): void; registerObservers(observer: IObserver): void; reset(): void; summaryColumnIds: string[]; totalCalculator?: ITotalCalculator; }