import { Action } from "../core/Action.js"; /** * Input bindings. * * @group Settings * @param TKey - The type of the binding keys. */ export declare class Bindings { /** * The default bindings. */ defaultActions: Map; /** * A collection that maps keys to actions. */ actions: Map; /** * Constructs new input bindings. */ constructor(); /** * Resets the current bindings to match the default bindings. * * @return This instance. */ reset(): Bindings; /** * Establishes default bindings and resets the current bindings. * * @param actions - A collection that maps keys to actions. * @return This instance. */ setDefault(actions: Map): Bindings; /** * Clears the default bindings. * * @return This instance. */ clearDefault(): Bindings; /** * Clears the current bindings. * * @return This instance. */ clear(): Bindings; /** * Copies the given bindings, including the default bindings. * * @param bindings - Bindings. * @return This instance. */ copy(bindings: Bindings): Bindings; /** * Clones these bindings. * * @return The cloned bindings. */ clone(): Bindings; /** * Copies the given JSON data. * * @param json - The JSON data. * @return This instance. */ fromJSON(json: Bindings): Bindings; /** * Checks if the given key is bound to an action. * * @param key - A key. * @return Whether the given key is bound to an action. */ has(key: TKey): boolean; /** * Returns the action that is bound to the given key. * * @param key - A key. * @return The action, or undefined if the key is not bound to any action. */ get(key: TKey): Action | undefined; /** * Binds a key to an action. * * @param key - A key. * @param action - An action. * @return This instance. */ set(key: TKey, action: Action): Bindings; /** * Unbinds a key. * * @param key - The key. * @return Whether the binding existed. */ delete(key: TKey): boolean; toJSON(): Record; }