import type { EventSubscription } from '@slickgrid-universal/event-pub-sub';
import type { Column, GridOption } from './../interfaces/index.js';
import type { ExtensionUtility } from '../extensions/extensionUtility.js';
import { type SlickDataView, SlickEventHandler, type SlickGrid } from '../core/index.js';
export declare class HeaderGroupingService {
    protected readonly extensionUtility: ExtensionUtility;
    protected _eventHandler: SlickEventHandler;
    protected _grid: SlickGrid;
    protected _subscriptions: EventSubscription[];
    constructor(extensionUtility: ExtensionUtility);
    /** Getter of SlickGrid DataView object */
    get _dataView(): SlickDataView;
    /** Getter of the SlickGrid Event Handler */
    get eventHandler(): SlickEventHandler;
    /** Getter for the Grid Options pulled through the Grid Object */
    protected get _gridOptions(): GridOption;
    /** Getter for the Column Definitions pulled through the Grid Object */
    protected get _columnDefinitions(): Column[];
    /**
     * Initialize the Service
     * @param {SlickGrid} grid
     */
    init(grid: SlickGrid): void;
    dispose(): void;
    /** call "renderPreHeaderRowGroupingTitles()" with a setTimeout delay */
    delayRenderPreHeaderRowGroupingTitles(delay?: number): void;
    /** Create or Render the Pre-Header Row Grouping Titles */
    renderPreHeaderRowGroupingTitles(): void;
    renderHeaderGroups(preHeaderPanel: HTMLElement, start: number, end: number): void;
    /** Translate Column Group texts and re-render them afterward. */
    translateHeaderGrouping(): void;
}
//# sourceMappingURL=headerGrouping.service.d.ts.map