import { ElementRef } from '@angular/core';
import { ElementFocusingEvent } from '@microsoft/windows-admin-center-sdk/core/data/accessibility-manager';
import { DataTableColumnComponent } from './data-table-column.component';
import { DataTableRenderedItem } from './data-table-contract';
/**
 * Intention is to minimize data table component code size
 * Eventually will move all the data table related accessibility functions here
 */
export declare class DataTableAccessibilityManager {
    constructor();
    onContentTableKeyUp(event: KeyboardEvent, contentElement: ElementRef, editable: boolean): void;
    private stopKeyboardMultipleSelect;
    clearTextSelection(): void;
    getRoleAttributeForTreeTableRow(renderedItem: DataTableRenderedItem, showHeader: boolean): string;
    getAriaSortAttributeValue(column: DataTableColumnComponent): string;
    /**
     * It helps check if the html element is a data table checkbox
     */
    isDataTableCheckBoxHTMLElement(targetElement: HTMLElement): boolean;
    /**
     * This is the editable data table handler on tab is pressed handler
     */
    editableDataTableOnContentTablePressedHandler(event: KeyboardEvent, targetElement: HTMLElement, currentRow: HTMLElement, lastFocusableShadowElement: ElementRef): boolean;
    /**
    * Dispatch focus in to the sme-table-cell to trigger tooltip handler.
    */
    focusInTableCell(event: FocusEvent): void;
    /**
     * Dispatch focus out to the sme-table-cell to trigger tooltip handler.
     */
    focusOutTableCell(event: FocusEvent): void;
    /**
     * Shouldn't allow to add sme-focus-zone to table cell template. Navigation inside of the table cell should be using arrow key.
     * @param event The focus event.
     */
    verifyDataTableColumnsViolation(event: ElementFocusingEvent): void;
    /**
     * This is to check if the this is the last item which is the delete button from the editable
     * data table row
     */
    private getIsFocusingOutFromLastColumnInEditableDataTableRow;
    /**
     * This checks if the current Html element is inside of a sme-form-field
     */
    isSmeFormField(targetElement: HTMLElement): HTMLElement;
}
