import type { AgColumn, BeanCollection, ChangedPath, ClientSideRowModelStage, GridOptions, NamedBean, RowNode, _IRowNodeAggregationStage } from 'ag-grid-community';
import { BeanStub } from 'ag-grid-community';
export declare class AggregationStage extends BeanStub implements NamedBean, _IRowNodeAggregationStage {
    beanName: "aggStage";
    readonly step: ClientSideRowModelStage;
    readonly refreshProps: (keyof GridOptions<any>)[];
    private clientSide;
    private colModel;
    private valueSvc;
    private pivotColsSvc?;
    private valueColsSvc?;
    private pivotResultCols?;
    wireBeans(beans: BeanCollection): void;
    execute(changedPath: ChangedPath): any;
    private createAggDetails;
    private isSuppressAggFilteredOnly;
    private recursivelyCreateAggData;
    private aggregateRowNode;
    private aggregateRowNodeUsingValuesAndPivot;
    private aggregateRowNodeUsingValuesOnly;
    getAggregatedChildren(rowNode: RowNode | null | undefined, col: AgColumn | null | undefined): RowNode[];
    /**
     * Sets aggData on a row node and all its siblings (footer sibling and pinned siblings).
     * This ensures all related nodes stay in sync when aggregation data changes.
     */
    private setAggDataWithSiblings;
    private setAggData;
}
