/**-----------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { AfterViewInit, ElementRef, OnDestroy, OnInit, Renderer2 } from '@angular/core';
import { FocusGroup } from './focus-group';
import { FocusableElement } from './focusable-element.interface';
import * as i0 from "@angular/core";
/**
 * Represents a directive that controls how focusable cell elements receive focus in a [navigable TreeList](https://www.telerik.com/kendo-angular-ui/components/treelist/keyboard-navigation).
 *
 * Use this directive to manage focus behavior for cell elements. Pass the `cellContext` from the cell template as input.
 *
 * @example
 * ```html
 * <kendo-treelist-column>
 *   <ng-template kendoTreeListCellTemplate let-cellContext="cellContext">
 *     <input [kendoTreeListFocusable]="cellContext" />
 *   </ng-template>
 * </kendo-treelist-column>
 * ```
 */
export declare class FocusableDirective implements AfterViewInit, FocusableElement, OnInit, OnDestroy {
    private hostElement;
    private renderer;
    private group;
    /**
     * Provides the cell context from the template.
     */
    cellContext: any;
    /**
     * @hidden
     */
    set enabled(value: boolean);
    get enabled(): boolean;
    /**
     * @hidden
     */
    set addCellContext(value: any);
    /**
     * @hidden
     */
    set editCellContext(value: any);
    /**
     * @hidden
     */
    set removeCellContext(value: any);
    /**
     * @hidden
     */
    set saveCellContext(value: any);
    /**
     * @hidden
     */
    set cancelCellContext(value: any);
    private active;
    private _enabled;
    private element;
    constructor(hostElement: ElementRef, renderer: Renderer2, group: FocusGroup);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    /**
     * @hidden
     */
    toggle(active: boolean): void;
    /**
     * @hidden
     */
    canFocus(): boolean;
    /**
     * @hidden
     */
    isNavigable(): boolean;
    /**
     * @hidden
     */
    focus(): void;
    /**
     * @hidden
     */
    hasFocus(): boolean;
    /**
     * @hidden
     */
    registerElement(element: FocusableElement): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<FocusableDirective, [null, null, { optional: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<FocusableDirective, "[kendoTreeListFocusable],        [kendoTreeListAddCommand],        [kendoTreeListEditCommand],        [kendoTreeListRemoveCommand],        [kendoTreeListSaveCommand],        [kendoTreeListCancelCommand]    ", never, { "cellContext": { "alias": "kendoTreeListFocusable"; "required": false; }; "enabled": { "alias": "enabled"; "required": false; }; "addCellContext": { "alias": "kendoTreeListAddCommand"; "required": false; }; "editCellContext": { "alias": "kendoTreeListEditCommand"; "required": false; }; "removeCellContext": { "alias": "kendoTreeListRemoveCommand"; "required": false; }; "saveCellContext": { "alias": "kendoTreeListSaveCommand"; "required": false; }; "cancelCellContext": { "alias": "kendoTreeListCancelCommand"; "required": false; }; }, {}, never, never, true, never>;
}
