/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { OnDestroy, EventEmitter } from '@angular/core';
import { ExpandableTreeComponent } from './expandable-tree-component';
import * as i0 from "@angular/core";
/**
 * A directive which controls the expanded state of items in the TreeList. [See example](https://www.telerik.com/kendo-angular-ui/components/treelist/expanded-state#built-in-directive).
 *
 * @example
 * ```html
 * <kendo-treelist ...
 *   [kendoTreeListFlatBinding]="data"
 *   kendoTreeListExpandable> ...
 * </kendo-treelist>
 * ```
 * @remarks
 * Applied to: {@link TreeListComponent},
 */
export declare class ExpandableDirective implements OnDestroy {
    private component;
    /**
     * Emits when the `expandedKeys` change.
     */
    expandedKeysChange: EventEmitter<any>;
    /**
     * Sets the expanded item keys.
     * Use this property to control which items are expanded.
     */
    set expandedKeys(value: any[]);
    get expandedKeys(): any[];
    /**
     * Specifies if items are initially expanded.
     * @default false
     */
    initiallyExpanded: boolean;
    /**
     * Defines the item key stored in the `expandedKeys` collection.
     * Uses the component `idField` by default.
     */
    set expandBy(key: string | ((dataItem: any) => any));
    protected get keyGetter(): any;
    protected subscriptions: any;
    protected state: any;
    protected _expandBy: any;
    protected _expandedKeys: any[];
    constructor(component: ExpandableTreeComponent);
    /**
     * @hidden
     */
    isExpanded(item: any): boolean;
    ngOnChanges(changes: any): void;
    ngOnDestroy(): void;
    private toggleState;
    static ɵfac: i0.ɵɵFactoryDeclaration<ExpandableDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<ExpandableDirective, "[kendoTreeListExpandable]", ["kendoTreeListExpandable"], { "expandedKeys": { "alias": "expandedKeys"; "required": false; }; "initiallyExpanded": { "alias": "initiallyExpanded"; "required": false; }; "expandBy": { "alias": "expandBy"; "required": false; }; }, { "expandedKeysChange": "expandedKeysChange"; }, never, never, true, never>;
}
