molstar
Version:
A comprehensive macromolecular library.
33 lines (32 loc) • 1.36 kB
TypeScript
/**
* Copyright (c) 2019 mol* contributors, licensed under MIT, See LICENSE file for more info.
*
* @author Alexander Rose <alexander.rose@weirdbyte.de>
*/
import { ButtonsType, ModifiersKeys } from './input/input-observer';
export { Binding };
interface Binding {
triggers: Binding.Trigger[];
action: string;
description: string;
}
declare function Binding(triggers: Binding.Trigger[], action?: string, description?: string): Binding;
declare namespace Binding {
function create(triggers: Trigger[], action?: string, description?: string): Binding;
const Empty: Binding;
function isEmpty(binding: Binding): boolean;
function match(binding: Binding, buttons: ButtonsType, modifiers: ModifiersKeys): boolean;
function formatTriggers(binding: Binding): string;
function format(binding: Binding, name?: string): any;
interface Trigger {
buttons?: ButtonsType;
modifiers?: ModifiersKeys;
}
function Trigger(buttons?: ButtonsType, modifiers?: ModifiersKeys): Trigger;
namespace Trigger {
function create(buttons?: ButtonsType, modifiers?: ModifiersKeys): Trigger;
const Empty: Trigger;
function match(trigger: Trigger, buttons: ButtonsType, modifiers: ModifiersKeys): boolean;
function format(trigger: Trigger): string;
}
}