import { Subject } from 'rxjs'; import * as i0 from "@angular/core"; export type KeyCommand = { /** * The non-modifier key(s) that must be pressed for the event to fire. */ key: string | string[]; label?: string; ctrl?: boolean; alt?: boolean; shift?: boolean; super?: boolean; tab?: boolean; /** * Should the handler interrupt default event handling */ interrupt?: boolean; }; /** * Service that listens for global keyboard events */ export declare class KeyboardService { private heldKeys; keyCommands: { ctrl?: boolean; alt?: boolean; shift?: boolean; super?: boolean; interrupt?: boolean; label?: string; keys: string[]; sub: Subject; }[]; constructor(); private onKeyDown; private onKeyUp; private onKeyPress; /** * Use this to subscribe to keyboard events throughout * the application. This is a passive listener and will * **NOT** interrupt the event chain. */ onKeyCommand(key: KeyCommand): { subscribe: { (observerOrNext?: Partial> | ((value: KeyboardEvent) => void)): import("rxjs").Subscription; (next?: (value: KeyboardEvent) => void, error?: (error: any) => void, complete?: () => void): import("rxjs").Subscription; }; closed: boolean; observers: import("rxjs").Observer[]; isStopped: boolean; hasError: boolean; thrownError: any; source: import("rxjs").Observable; operator: import("rxjs").Operator; }; /** * Return `true` if shift is currently pressed. */ get isShiftPressed(): boolean; /** * Return `true` if ctrl is currently pressed. */ get isCtrlPressed(): boolean; /** * Return `true` if alt is currently pressed. */ get isAltPressed(): boolean; /** * Return `true` if super (mac/linux) or the windows key is currently pressed. */ get isSuperPressed(): boolean; /** * Return `true` if tab is currently pressed. */ get isTabPressed(): boolean; clearKeys(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }