// Type definitions for @dyna-grid/core v1.0.5
// Project: 
// Definitions by: zhangkun <>
import { Component } from './component';
import { FocusController } from '../focusController';
export declare class ManagedFocusComponent extends Component {
    private readonly isFocusableContainer;
    protected handleKeyDown?(e: KeyboardEvent): void;
    static FOCUS_MANAGED_CLASS: string;
    private topTabGuard;
    private bottomTabGuard;
    private skipTabGuardFocus;
    protected readonly focusController: FocusController;
    constructor(template?: string, isFocusableContainer?: boolean);
    protected postConstruct(): void;
    protected focusInnerElement(fromBottom?: boolean): void;
    /**
     * By default this will tab though the elements in the default order. Override if you require special logic.
     */
    protected onTabKeyDown(e: KeyboardEvent): void;
    protected onFocusIn(e: FocusEvent): void;
    protected onFocusOut(e: FocusEvent): void;
    forceFocusOutOfContainer(up?: boolean): void;
    appendChild(newChild: HTMLElement | Component, container?: HTMLElement): void;
    private createTabGuard;
    private addTabGuards;
    private forEachTabGuard;
    private addKeyDownListeners;
    protected shouldStopEventPropagation(e: KeyboardEvent): boolean;
    private onFocus;
    private activateTabGuards;
    private deactivateTabGuards;
    private tabGuardsAreActive;
    protected clearGui(): void;
}
