{
  "name": "KeyboardRegistry",
  "category": "infra",
  "description": "used for registering keyboards and performing certain actions on the keyboards",
  "example": "https://github.com/wix/react-native-ui-lib/blob/master/demo/src/screens/nativeComponentScreens/keyboardAccessory/demoKeyboards.js",
  "props": [
    {
      "name": "registerKeyboard",
      "type": "static function",
      "description": "Register a new keyboard.\ncomponentID (string) - the ID of the keyboard.\ngenerator (function) - a function for the creation of the keyboard.\nparams (object) - to be returned when using other methods (i.e. getKeyboards and getAllKeyboards)"
    },
    {
      "name": "getKeyboard",
      "type": "static function",
      "description": "Get a specific keyboard\ncomponentID (string) - the ID of the keyboard"
    },
    {
      "name": "getKeyboards",
      "type": "static function",
      "description": "Get keyboards by IDs\ncomponentIDs (string[]) - the ID of the keyboard"
    },
    {"name": "getAllKeyboards", "type": "static function", "description": "Get all keyboards"},
    {
      "name": "addListener",
      "type": "static function",
      "description": "Add a listener for a callback.\nglobalID (string) - ID that includes the componentID and the event name\n(i.e. if componentID='kb1' globalID='kb1.onItemSelected')\ncallback (function) - the callback to be called when the said event happens"
    },
    {
      "name": "notifyListeners",
      "type": "static function",
      "description": "Notify that an event has occurred.\nglobalID (string) - ID that includes the componentID and the event name\n(i.e. if componentID='kb1' globalID='kb1.onItemSelected')\nargs (object) - data to be sent to the listener"
    },
    {
      "name": "removeListeners",
      "type": "static function",
      "description": "Remove a listener for a callback.\nglobalID (string) - ID that includes the componentID and the event name\n(i.e. if componentID='kb1' globalID='kb1.onItemSelected')"
    },
    {
      "name": "onItemSelected",
      "type": "static function",
      "description": "Default event to be used for when an item on the keyboard has been pressed.\ncomponentID (string) - the ID of the keyboard.\nargs (object) - data to be sent to the listener"
    },
    {
      "name": "requestShowKeyboard",
      "type": "static function",
      "description": "Request to show the keyboard\ncomponentID (string) - the ID of the keyboard"
    }
  ],
  "snippet": ["KeyboardRegistry.registerKeyboard('keyboardName$1', () => KeyboardComponent$2)"]
}
