/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { BaseAdapter, IBaseAdapter } from '../core/base';
import { IKeyboardShortcutComponent } from './keyboard-shortcut';
export interface IKeyboardShortcutAdapter extends IBaseAdapter {
    hasTargetElement(): boolean;
    destroy(): void;
    addTargetEventListener(type: string, listener: (evt: KeyboardEvent) => void, capture?: boolean): void;
    removeTargetEventListener(type: string, listener: (evt: KeyboardEvent) => void, capture?: boolean): void;
    setHostStyles(): void;
    setTargetElement(target: string | undefined, global: boolean): void;
}
export declare class KeyboardShortcutAdapter extends BaseAdapter<IKeyboardShortcutComponent> implements IKeyboardShortcutAdapter {
    component: IKeyboardShortcutComponent;
    private _targetElement;
    constructor(component: IKeyboardShortcutComponent);
    hasTargetElement(): boolean;
    destroy(): void;
    /**
     * Adds an event listener to the target element.
     * @param type The event type.
     * @param listener The event listener.
     */
    addTargetEventListener(type: string, listener: (evt: KeyboardEvent) => void, capture?: boolean): void;
    /**
     * Removes an event listener from the target element.
     * @param type The event type.
     * @param listener The event listener.
     */
    removeTargetEventListener(type: string, listener: (evt: KeyboardEvent) => void, capture?: boolean): void;
    /**
     * Sets the host element's display to none
     */
    setHostStyles(): void;
    /**
     * Sets the target element based on the provided CSS selector.
     * @param {string | undefined} selector The target element selector.
     * @param {boolean} global Whether to target the document element.
     */
    setTargetElement(selector: string | undefined, global: boolean): void;
}
