/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { EventEmitter, OnDestroy } from '@angular/core';
import { GridComponent } from '../grid.component';
import { GroupRowArgs } from '../grouping/group-rows-args.interface';
import * as i0 from "@angular/core";
/**
* Controls the expanded state of group rows in the Grid.
* Use this directive to manage which group rows are expanded or collapsed
* ([see example](https://www.telerik.com/kendo-angular-ui/components/grid/grouping/expanded-state#built-in-directive)).
*
* @example
* ```typescript
*
* ```
* @remarks
* Applied to: {@link GridComponent}.
*/
export declare class ExpandGroupDirective implements OnDestroy {
protected grid: GridComponent;
/**
* Fires when the `expandedGroupKeys` collection changes.
*/
expandedGroupKeysChange: EventEmitter;
/**
* Sets the item format stored in the `expandedGroupKeys` collection.
* Accepts a property name or a function that returns a unique key for each group
* ([see example](https://www.telerik.com/kendo-angular-ui/components/grid/grouping/expanded-state#custom-group-key-format)).
*/
get expandGroupBy(): string | ((group: GroupRowArgs) => any);
set expandGroupBy(key: string | ((group: GroupRowArgs) => any));
/**
* Holds the collection of expanded group keys.
* Set this property to control which group rows are expanded.
*/
get expandedGroupKeys(): any[];
set expandedGroupKeys(expandedGroups: any[]);
/**
* Specifies if group items are expanded by default.
* @default false
*/
groupsInitiallyExpanded: boolean;
private _expandGroupBy;
private _expandedGroupKeys;
private subscriptions;
constructor(grid: GridComponent);
ngOnDestroy(): void;
protected get keyGetter(): any;
/**
* @hidden
*/
isExpanded(groupArgs: GroupRowArgs): boolean;
private getItemIndex;
private toggleState;
static ɵfac: i0.ɵɵFactoryDeclaration;
static ɵdir: i0.ɵɵDirectiveDeclaration;
}