import type { ClientSideRowModelStage, GridOptions, NamedBean, NestedDataGetter, RefreshModelParams, RowNode, _IRowNodeGroupStage } from 'ag-grid-community';
import { BeanStub } from 'ag-grid-community';
export declare class GroupStage<TData> extends BeanStub implements NamedBean, _IRowNodeGroupStage {
    beanName: "groupStage";
    step: ClientSideRowModelStage;
    readonly refreshProps: (keyof GridOptions<any>)[];
    treeData: boolean;
    private hasTreeData;
    private needReset;
    private nested;
    private strategy;
    postConstruct(): void;
    invalidateGroupCols(): void;
    destroy(): void;
    getNonLeaf(id: string): RowNode<TData> | undefined;
    getNestedDataGetter(): NestedDataGetter<TData> | null | undefined;
    onPropChange(changedProps: ReadonlySet<keyof GridOptions<any>>): boolean;
    extractData(): TData[];
    execute(params: RefreshModelParams<TData>): boolean | undefined;
    loadLeafs(node: RowNode): RowNode[] | null;
    loadGroupData(node: RowNode<any>): Record<string, any> | null;
    clearNonLeafs(): void;
    private getStrategy;
}
