import { RowHeadersRenderer } from './rowHeaders'; import { ColumnHeaderRowsRenderer } from './columnHeaderRows'; import { ColumnHeadersRenderer } from './columnHeaders'; import { ColGroupRenderer } from './colGroup'; import { RowsRenderer } from './rows'; import { CellsRenderer } from './cells'; import { TableRenderer } from './table'; import type RowFilter from '../filter/row'; import type ColumnFilter from '../filter/column'; import type RowUtils from '../utils/row'; import type ColumnUtils from '../utils/column'; import type { StylesHandler } from '../types'; interface RendererOptions { TABLE?: HTMLTableElement; THEAD?: HTMLElement; COLGROUP?: HTMLElement; TBODY?: HTMLElement; rowUtils?: RowUtils; columnUtils?: ColumnUtils; cellRenderer?: Function; stylesHandler?: StylesHandler; } /** * Content renderer. * * @class Renderer */ declare class Renderer { /** * @type {TableRenderer} */ renderer: TableRenderer; /** * Creates a new Renderer instance. * * @param {RendererOptions} options The renderer configuration options. */ constructor({ TABLE, THEAD, COLGROUP, TBODY, rowUtils, columnUtils, cellRenderer, stylesHandler }?: RendererOptions); /** * Sets the overlay that is currently rendered. If `null` is provided, the master overlay is set. * * @param {'inline_start'|'top'|'top_inline_start_corner'|'bottom'|'bottom_inline_start_corner'|'master'} overlayName The overlay name. * @returns {Renderer} */ setActiveOverlayName(overlayName: string): this; /** * Sets filter calculators for newly calculated row and column position. The filters are used to transform visual * indexes (0 to N) to source indexes provided by Handsontable. * * @param {RowFilter} rowFilter The row filter instance. * @param {ColumnFilter} columnFilter The column filter instance. * @returns {Renderer} */ setFilters(rowFilter: RowFilter, columnFilter: ColumnFilter): this; /** * Sets the viewport size of the rendered table. * * @param {number} rowsCount An amount of rows to render. * @param {number} columnsCount An amount of columns to render. * @returns {Renderer} */ setViewportSize(rowsCount: number, columnsCount: number): this; /** * Sets row and column header functions. * * @param {Function[]} rowHeaders Row header functions. Factories for creating content for row headers. * @param {Function[]} columnHeaders Column header functions. Factories for creating content for column headers. * @returns {Renderer} */ setHeaderContentRenderers(rowHeaders: Function[], columnHeaders: Function[]): this; /** * Renders the table. */ render(): void; } export { RowHeadersRenderer, ColumnHeaderRowsRenderer, ColumnHeadersRenderer, ColGroupRenderer, RowsRenderer, CellsRenderer, TableRenderer, Renderer, };