import { BasePageData } from './BasePageData';
export type IControlsElementType = HTMLElement;
export declare class TabingValuesClass {
    propertyName: string;
    control: IControlsElementType;
    tabIndex: number;
    isStatusbarOfStackControl: boolean;
    constructor(propertyName: string, control: IControlsElementType, tabIndex: number, isStatusbarOfStackControl: boolean);
}
export declare class TabbingControl {
    pageData: BasePageData;
    controls: TabingValuesClass[];
    constructor(pageData: BasePageData);
    addControl: (propertyName: string, value: IControlsElementType, tabIndex: number, isStatusbarOfStackControl: boolean) => void;
    removeControl: <S>(propertyName: keyof S) => void;
    removeAllControls: () => void;
    focuseToThisElement(index: number): void;
    focuseToThisElement<T extends {
        pageData: BasePageData;
    }>(fieldName: keyof T): void;
    updateCurrentIndexByFocusForm(element: EventTarget): void;
    gotoNextElementByEnter(): void;
    getCurrentItem: () => TabingValuesClass | undefined;
    gotoNextElementOfStatusBar: () => void;
    gotoPreviousElementOfStatusBar: () => void;
    gotoNextElement(): void;
    gotoPreviousElement(): void;
}
