/**-----------------------------------------------------------------------------------------
* 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 { GanttComponent } from '../gantt.component';
import * as i0 from "@angular/core";
/**
 * Handles the [`selectionChange`](https://www.telerik.com/kendo-angular-ui/components/gantt/api/ganttcomponent#selectionchange) event of the Gantt component.
 * ([See example](https://www.telerik.com/kendo-angular-ui/components/gantt/selection#built-in-directive)).
 *
 * @example
 * ```html
 * <kendo-gantt kendoGanttSelectable [(selectedKeys)]="selectedKeys"></kendo-gantt>
 * ```
 *
 * @remarks
 * Applied to: {@link GanttComponent}
 */
export declare class SelectableDirective implements OnDestroy {
    private gantt;
    /**
     * @hidden
     */
    set selectable(value: boolean);
    /**
     * Sets the selected keys.
     */
    set selectedKeys(value: any[]);
    /**
     * Emits when the selected keys change.
     */
    selectedKeysChange: EventEmitter<any[]>;
    /**
     * Sets the field name or function that identifies the unique key for a data item.
     * Uses the string field `id` by default.
     */
    set itemKey(value: string | ((dataItem: any) => any));
    private get keyGetter();
    private selectionSubscription;
    private state;
    private lastChange;
    private _keyGetter;
    constructor(gantt: GanttComponent);
    ngOnDestroy(): void;
    private isSelected;
    private selectionChange;
    private emitSelectedItemsChange;
    private subscribeSelection;
    private unsubscribeSelection;
    static ɵfac: i0.ɵɵFactoryDeclaration<SelectableDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<SelectableDirective, "[kendoGanttSelectable]", ["kendoGanttSelectable"], { "selectable": { "alias": "selectable"; "required": false; }; "selectedKeys": { "alias": "selectedKeys"; "required": false; }; "itemKey": { "alias": "itemKey"; "required": false; }; }, { "selectedKeysChange": "selectedKeysChange"; }, never, never, true, never>;
}
