import { TabbingManager } from ".";
import { IFocusAbleGridEditFactory } from "./GridEditTabbing";
export interface IFocusAbleElementFactory {
    tabIndex: number;
    element: HTMLElement;
    disabled: boolean;
    hidden: boolean;
    factoryFieldName: string;
}
declare class MergeElementAndGridEdit {
    element: HTMLElement;
    tabIndex: number;
    factory: IFocusAbleElementFactory | IFocusAbleGridEditFactory;
    constructor(element: HTMLElement, tabIndex: number, factory: IFocusAbleElementFactory | IFocusAbleGridEditFactory);
}
export declare class ElementTabbing {
    tabbing: TabbingManager;
    isEmpty: () => boolean;
    focusAbleElements: IFocusAbleElementFactory[];
    constructor(tabbing: TabbingManager);
    getFocusAbleElements: () => MergeElementAndGridEdit[];
    focus: () => void;
    isThereAnyElement(element: EventTarget): MergeElementAndGridEdit | undefined;
    focusToActiveElementTabIndex: () => boolean;
    focusToZeroTabIndexOrFirstElementOrToolbox: () => void;
    focusToZeroTabIndexElement: () => boolean;
    focusToFirstTabIndexElement: () => boolean;
    focusToMaxTabIndexOrLastElement: () => void;
    focusToMaxTabIndexElement: () => boolean;
    focusToLastTabIndexElement: () => boolean;
    focusToElementByTabIndex: (tabIndex: number) => boolean;
    focusToElementByHTMLElement: (element: HTMLElement) => boolean;
    validateAndFocusNextElement: () => void;
    focusNextElement: () => void;
    focusPreviousElement: () => void;
    setFocus(find: MergeElementAndGridEdit): void;
}
export {};
//# sourceMappingURL=ElementTabbing.d.ts.map