import { IElementDto } from '../model/ava-models';
export interface IKeyboardOperationConfig {
    operations: IKeyboardOperations;
}
export declare enum KeyboardOperationType {
    MoveSelectedPositionUp = "moveSelectedPositionUp",
    MoveSelectedPositionDown = "moveSelectedPositionDown",
    MoveChosenPositionDown = "moveChosenPositionDown",
    MoveChosenPositionUp = "moveChosenPositionUp",
    ClearChosenPosition = "clearChosenPosition",
    SelectChosenPosition = "selectChosenPosition"
}
export type IKeyboardOperations = {
    [key in KeyboardOperationType]?: IKeyboardOperation;
};
export interface IKeyboardOperation {
    disabled?: boolean;
    keyEvent?: string;
}
export declare class KeyboardOperationService {
    private defaultKeyboardOperationConfig;
    private flatElementsService;
    private selectElementService;
    private currentConfig;
    constructor();
    getConfig(): {
        operations: IKeyboardOperations;
    };
    mergeConfigOperation(config: IKeyboardOperationConfig): void;
    private deepMerge;
    handleKeyboardEvent(keyEvent: KeyboardEvent, element: IElementDto | null): {
        operation: KeyboardOperationType;
        nextElement: IElementDto | null;
    } | null;
}
