import type { ColKey, GridOptions, IGroupHierarchyColService, NamedBean, PropertyChangedEvent, PropertyValueChangedEvent, _ColumnCollections } from 'ag-grid-community';
import { AgColumn, BeanStub } from 'ag-grid-community';
export declare class GroupHierarchyColService extends BeanStub implements NamedBean, IGroupHierarchyColService {
    beanName: "groupHierarchyColSvc";
    columns: _ColumnCollections | null;
    /** Map from primary column to virtual (i.e. generated) columns */
    private sourceColumnMap;
    /** Map from virtual column to associated primary column. Inverse of `sourceColumnMap` */
    private inverseColumnMap;
    addColumns(cols: _ColumnCollections): void;
    createColumns(cols: _ColumnCollections): void;
    updateColumns(_event: PropertyChangedEvent | PropertyValueChangedEvent<keyof GridOptions>): void;
    getColumn(key: ColKey): AgColumn | null;
    getColumns(): AgColumn[] | null;
    expandColumnInto(target: AgColumn[], col: AgColumn): void;
    compareVirtualColumns(colA: AgColumn, colB: AgColumn): number | null;
    insertVirtualColumnsForCol(columns: AgColumn<any>[], col: AgColumn<any>): AgColumn[];
    private getVirtualColumnsForColumn;
    private isGroupHierarchyColsEnabled;
    private isGroupHierarchyColsEnabledForCol;
    private createGroupHierarchyColDefs;
    private createGroupHierarchyColumns;
    private createColDefForPart;
}
