import WidgetBase from '@dojo/framework/core/WidgetBase'; import I18nMixin from '@dojo/framework/core/mixins/I18n'; import ThemedMixin from '@dojo/framework/core/mixins/Themed'; import { ColumnConfig, SortOptions } from './interfaces'; import { DNode } from '@dojo/framework/core/interfaces'; export interface SortRenderer { (column: ColumnConfig, direction: undefined | 'asc' | 'desc', sorter: () => void): DNode; } export interface FilterRenderer { (column: ColumnConfig, filterValue: string, doFilter: (value: string) => void, title?: string | DNode): DNode; } export interface HeaderProperties { /** Configuration for grid columns (id, title, properties, and custom renderer) */ columnConfig: ColumnConfig[]; /** Handles changing the sort order of a column */ sorter: (columnId: string, direction: 'asc' | 'desc') => void; /** Handles filtering rows based on a given column */ filterer: (columnId: string, value: any) => void; /** Applied filters */ filter?: { [index: string]: string; }; /** Applied sort options */ sort?: SortOptions; /** Custom column renderer for displaying sort options */ sortRenderer?: SortRenderer; /** Custom renderer displaying applied filters */ filterRenderer?: FilterRenderer; /** Callback on column resize */ onColumnResize?: (index: number, value: number) => void; /** Calculated column widths */ columnWidths?: { [index: string]: number; }; } declare const Header_base: import("@dojo/framework/core/interfaces").Constructor> & typeof WidgetBase & import("@dojo/framework/core/interfaces").Constructor; export default class Header extends Header_base { private _getColumnTitle; private _sortColumn; private _sortRenderer; private _filterRenderer; protected render(): DNode; } export {};