import { Column, EventHandler, GroupBox, InitModelOf, PropertyChangeEvent, SmartField, StaticLookupCall, Table, TableColumnStructureChangedEvent, TableGroupEvent, TableSortEvent, TileTableHeaderBoxModel, TileTableHeaderSortKey } from '../index';
export declare class TileTableHeaderBox extends GroupBox implements TileTableHeaderBoxModel {
    model: TileTableHeaderBoxModel;
    parent: Table;
    table: Table;
    groupByField: SmartField<Column<any>>;
    sortByField: SmartField<TileTableHeaderSortKey>;
    isGrouping: boolean;
    isSorting: boolean;
    protected _tableGroupHandler: EventHandler<TableGroupEvent>;
    protected _tableSortHandler: EventHandler<TableSortEvent>;
    protected _tableColumnStructureChangedHandler: EventHandler<TableColumnStructureChangedEvent>;
    protected _destroyHandler: () => void;
    constructor();
    protected _installListeners(): void;
    protected _uninstallListeners(): void;
    protected _init(model: InitModelOf<this>): void;
    protected _findSortByLookupRowForKey(key: TileTableHeaderSortKey): TileTableHeaderSortKey;
    protected _createGroupByLookupCall(): StaticLookupCall<Column<any>>;
    protected _createSortByLookupCall(): StaticLookupCall<TileTableHeaderSortKey>;
    protected _onGroupingChange(event: PropertyChangeEvent<any, SmartField<Column<any>>>): void;
    protected _onSortingChange(event: PropertyChangeEvent<any, SmartField<TileTableHeaderSortKey>>): void;
    protected _syncSortingGroupingFields(): void;
    protected _onTableGroup(event: TableGroupEvent): void;
    protected _onTableSort(event: TableSortEvent): void;
    protected _onTableColumnStructureChanged(event: TableColumnStructureChangedEvent): void;
}
//# sourceMappingURL=TileTableHeaderBox.d.ts.map