import { RowNode } from 'ag-grid-community';
import type { BeanCollection, GridApi, IExpansionService, NamedBean, RowGroupBulkExpansionState, RowGroupExpansionState, RowGroupOpenedEvent } from 'ag-grid-community';
import { BaseExpansionService } from '../../rowHierarchy/baseExpansionService';
/**
 * Service for managing row expansion in the server-side row model.
 * Contains declarative states for interacted with nodes and toggled nodes.
 * Nodes still maintain their own expanded state, and also there is a user-defined lazy initial state.
 * This service manages all these states and provides an API for expanding/collapsing rows.
 */
export declare class ServerSideExpansionService extends BaseExpansionService implements NamedBean, IExpansionService<RowGroupExpansionState | RowGroupBulkExpansionState> {
    beanName: "expansionSvc";
    private strategy;
    private serverSideRowModel;
    private storeFactory;
    wireBeans(beans: BeanCollection): void;
    private setStrategy;
    postConstruct(): void;
    setExpansionState(state: RowGroupExpansionState | RowGroupBulkExpansionState): void;
    getExpansionState(): RowGroupExpansionState | RowGroupBulkExpansionState;
    /**
     * Updates all nodes to the correct expanded/collapsed state.
     */
    private updateAllNodes;
    isExpanded(rowNode: RowNode): boolean;
    isNodeExpanded(node: RowNode): boolean;
    setExpanded(node: RowNode, expanded: boolean, e?: MouseEvent | KeyboardEvent, _?: boolean): void;
    resetExpansion(): void;
    expandAll(expanded: boolean): void;
    private isExpandAllStrategy;
    onGroupExpandedOrCollapsed(): void;
    setDetailsExpansionState(detailGridApi: GridApi): void;
    protected dispatchExpandedEvent(event: RowGroupOpenedEvent): void;
    updateExpandedState(rowNode: RowNode): void;
    private createDetailNode;
}
