/********************************************************************************
 * Copyright (c) 2023-2024 Business Informatics Group (TU Wien) and others.
 *
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v. 2.0 which is available at
 * http://www.eclipse.org/legal/epl-2.0.
 *
 * This Source Code may also be made available under the following Secondary
 * Licenses when the conditions for such availability set forth in the Eclipse
 * Public License v. 2.0 are satisfied: GNU General Public License, version 2
 * with the GNU Classpath Exception which is available at
 * https://www.gnu.org/software/classpath/license.html.
 *
 * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
 ********************************************************************************/
import { Action, ICommand, KeyCode, PaletteItem } from '@eclipse-glsp/sprotty';
import { ToolPalette } from '../../tool-palette/tool-palette';
export declare class KeyboardToolPalette extends ToolPalette {
    protected deleteToolButton: HTMLElement;
    protected marqueeToolButton: HTMLElement;
    protected validateToolButton: HTMLElement;
    protected searchToolButton: HTMLElement;
    protected keyboardIndexButtonMapping: Map<number, HTMLElement>;
    protected headerToolsButtonMapping: Map<number, HTMLElement>;
    protected get interactablePaletteItems(): PaletteItem[];
    protected initializeContents(_containerElement: HTMLElement): void;
    handle(action: Action): ICommand | Action | void;
    protected createBody(): void;
    protected createHeaderTools(): HTMLElement;
    protected createDefaultToolButton(): HTMLElement;
    protected createMouseDeleteToolButton(): HTMLElement;
    protected createMarqueeToolButton(): HTMLElement;
    protected createValidateButton(): HTMLElement;
    protected onClickStaticToolButton(button: HTMLElement, toolId?: string, action?: Action): (_ev: MouseEvent) => void;
    protected createSearchButton(): HTMLElement;
    protected createHeaderSearchField(): HTMLInputElement;
    protected focusToolPaletteOnEscape(event: KeyboardEvent): void;
    protected createKeyboardShotcut(keyShortcut: KeyCode): HTMLElement;
    protected createKeyboardToolButton(item: PaletteItem, tabIndex: number, buttonIndex: number): HTMLElement;
    protected clickToolOnEnter(event: KeyboardEvent, button: HTMLElement, item: PaletteItem): void;
    protected selectItemOnCharacter(event: KeyboardEvent): void;
    protected triggerHeaderToolsByKey(event: KeyboardEvent): void;
    protected selectItemViaArrowKey(currentButton: HTMLElement | undefined): void;
    protected clearToolOnEscape(event: KeyboardEvent): void;
    protected toggleShortcutVisibility(): void;
    protected isShortcutsVisible(): boolean;
    protected showShortcuts(): void;
    protected hideShortcuts(): void;
}
//# sourceMappingURL=keyboard-tool-palette.d.ts.map