/**----------------------------------------------------------------------------------------- * 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, OnChanges, SimpleChanges } from '@angular/core'; import { GridComponent } from '../grid.component'; import { Subscription } from 'rxjs'; import { RowArgs } from './common/row-args'; import * as i0 from "@angular/core"; /** * Controls the expanded state of master detail rows in the Grid. * Use this directive to manage which detail rows are expanded or collapsed. * ([see example](https://www.telerik.com/kendo-angular-ui/components/grid/master-detail/expanded-state#built-in-directive)) * * @example * ```html * * * ``` * @remarks * Applied to: {@link GridComponent}. */ export declare class ExpandDetailsDirective implements OnChanges, OnDestroy { protected grid: GridComponent; /** * Fires when the `expandedDetailKeys` collection changes. */ expandedDetailKeysChange: EventEmitter; /** * Sets the item key stored in the `expandedDetailKeys` collection. * Accepts a property name or a function that returns a unique key for each data item. * ([See example](https://www.telerik.com/kendo-angular-ui/components/grid/master-detail/expanded-state#built-in-directive)). */ get expandDetailsKey(): string | ((dataItem: any) => any); set expandDetailsKey(key: string | ((dataItem: any) => any)); /** * @hidden * A deprecated alias for setting the `expandDetailsKey` property. */ get expandDetailBy(): string | ((dataItem: any) => any); set expandDetailBy(key: string | ((dataItem: any) => any)); /** * Holds the collection of expanded detail row keys. * Set this property to control which detail rows are expanded. */ expandedDetailKeys: any[]; /** * Specifies if detail rows are expanded by default. * When set to `true`, items in the `expandedDetailKeys` collection are collapsed, and all others are expanded. * @default false */ initiallyExpanded: boolean; protected expandedState: Set; protected lastExpandedState: any[]; protected _expandBy: any; protected subscriptions: Subscription; constructor(grid: GridComponent); ngOnChanges(changes: SimpleChanges): void; ngOnDestroy(): void; protected get keyGetter(): any; /** * @hidden */ isExpanded(args: RowArgs): boolean; private toggleState; private notifyChange; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }