import { WlKeyboardRequests, WlKeyboardResource } from 'westfield-runtime-server'; import { CompositorKeyboard, KeyCode } from './index'; import { KeyEvent } from './KeyEvent'; import { Seat, KeyboardLocks } from './Seat'; import Surface from './Surface'; import { nrmlvo, Xkb } from './Xkb'; export declare class DefaultKeyboardGrab implements KeyboardGrab { readonly keyboard: Keyboard; static create(keyboard: Keyboard): KeyboardGrab; private constructor(); cancel(): void; key(event: KeyEvent): void; modifiers(serial: number, modsDepressed: number, modsLatched: number, modsLocked: number, group: number): void; } export interface KeyboardGrab { key(event: KeyEvent): void; modifiers(serial: number, modsDepressed: number, modsLatched: number, modsLocked: number, group: number): void; cancel(): void; } export declare class Keyboard implements WlKeyboardRequests, CompositorKeyboard { readonly seat: Seat; readonly nrmlvoEntries: nrmlvo[]; nrmlvo: nrmlvo; xkb: Xkb; static create(seat: Seat): Keyboard; readonly defaultNrmlvo: nrmlvo; resources: WlKeyboardResource[]; focusSerial: number; grabKey?: KeyCode; grabSerial?: number; grabTime?: number; focus?: Surface; private readonly focusDestroyListener; keys: number[]; focusListeners: (() => void)[]; readonly defaultGrab: KeyboardGrab; grab: KeyboardGrab; inputMethodGrab?: KeyboardGrab; pendingKeymap?: nrmlvo; modifiers: { modsDepressed: number; modsLatched: number; modsLocked: number; group: number; }; private constructor(); release(resource: WlKeyboardResource): void; startGrab(grab: KeyboardGrab): void; endGrab(): void; cancelGrab(): void; setFocus(surface: Surface | undefined): void; sendKeymap(resource: WlKeyboardResource): Promise; setLocks(mask: KeyboardLocks, value: KeyboardLocks): void; sendModifiers(serial: number, modsDepressed: number, modsLatched: number, modsLocked: number, group: number): void; sendKey(event: KeyEvent): void; }