import type { AgColumn, AgProvidedColumnGroup, BeanCollection, IEventEmitter, IEventListener } from 'ag-grid-community';
type ColumnModelItemEvent = 'expandedChanged';
export declare class ColumnModelItem implements IEventEmitter<ColumnModelItemEvent> {
    private readonly beans;
    readonly depth: number;
    readonly group: boolean;
    private readonly localEventService;
    readonly columnGroup: AgProvidedColumnGroup;
    readonly column: AgColumn;
    readonly children: ColumnModelItem[];
    private _expanded;
    passesFilter: boolean;
    private cachedName;
    /** -1 never matches a real `colDefsVersion`, so the first read always resolves. */
    private cachedNameVersion;
    private cachedNameOverride;
    constructor(beans: BeanCollection, columnOrGroup: AgColumn | AgProvidedColumnGroup, depth: number, group?: boolean, expanded?: boolean);
    get displayName(): string | null;
    get expanded(): boolean;
    set expanded(expanded: boolean);
    addEventListener<T extends ColumnModelItemEvent>(eventType: T, listener: IEventListener<ColumnModelItemEvent>): void;
    removeEventListener<T extends ColumnModelItemEvent>(eventType: T, listener: IEventListener<ColumnModelItemEvent>): void;
}
export {};
