/**-----------------------------------------------------------------------------------------
* Copyright © 2024 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";
/**
* A directive that controls the way focusable cell elements receive
* [focus in a navigable TreeList]({% slug keyboard_navigation_treelist %}).
*
* The directive takes as input the `cellContext` from the cell template.
*
* ```html
*
*
*
*
*
* ```
*/
export declare class FocusableDirective implements AfterViewInit, FocusableElement, OnInit, OnDestroy {
private hostElement;
private renderer;
private group;
/**
* The cell context provided by 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;
static ɵdir: i0.ɵɵDirectiveDeclaration;
}