import type { IKeyboardLayoutInfo, IKeyboardMapping } from 'native-keymap';
import { Event } from '../event';
export declare const keyboardPath = "/services/keyboard";
export declare const KeyboardLayoutProvider: unique symbol;
export interface KeyboardLayoutProvider {
    getNativeLayout(): Promise<NativeKeyboardLayout>;
}
export declare const KeyboardLayoutChangeNotifier: unique symbol;
export interface KeyboardLayoutChangeNotifier {
    onDidChangeNativeLayout: Event<NativeKeyboardLayout>;
}
export interface KeyValidationInput {
    code: string;
    character: string;
    shiftKey?: boolean;
    ctrlKey?: boolean;
    altKey?: boolean;
}
export declare const KeyValidator: unique symbol;
export interface KeyValidator {
    validateKey(input: KeyValidationInput): void;
}
export interface NativeKeyboardLayout {
    info: IKeyboardLayoutInfo;
    mapping: IKeyboardMapping;
}
//# sourceMappingURL=keyboard-layout-provider.d.ts.map