{
  "methods": {
    "create": {
      "desc": "Creates an ad-hoc Dialog; Same as calling $q.dialog(...)",
      "params": {
        "opts": {
          "type": "Object",
          "required": true,
          "definition": {
            "class": {
              "type": [ "String", "Array", "Object" ],
              "desc": "CSS Class name to apply to the Dialog's QCard",
              "examples": [ "my-class" ]
            },

            "style": {
              "type": [ "String", "Array", "Object" ],
              "desc": "CSS style to apply to the Dialog's QCard",
              "examples": [ "border: 2px solid black" ]
            }
          }
        }
      },

      "returns": {
        "type": "Object",
        "desc": "Chainable Object",
        "tsType": "DialogChainObject",
        "definition": {
          "onOk": {
            "type": "Function",
            "desc": "Receives a Function param to tell what to do when OK is pressed / option is selected",
            "params": {
              "callbackFn": {
                "type": "Function",
                "desc": "Tell what to do",
                "required": true,
                "params": null,
                "returns": null
              }
            },
            "returns": {
              "type": "Object",
              "desc": "Chained Object",
              "tsType": "DialogChainObject",
              "__exemption": [ "examples" ]
            }
          },

          "onCancel": {
            "type": "Function",
            "desc": "Receives a Function as param to tell what to do when Cancel is pressed / dialog is dismissed",
            "params": {
              "callbackFn": {
                "type": "Function",
                "desc": "Tell what to do",
                "required": true,
                "params": null,
                "returns": null
              }
            },
            "returns": {
              "type": "Object",
              "desc": "Chained Object",
              "tsType": "DialogChainObject",
              "__exemption": [ "examples" ]
            }
          },

          "onDismiss": {
            "type": "Function",
            "desc": "Receives a Function param to tell what to do when the dialog is closed",
            "params": {
              "callbackFn": {
                "type": "Function",
                "desc": "Tell what to do",
                "required": true,
                "params": null,
                "returns": null
              }
            },
            "returns": {
              "type": "Object",
              "desc": "Chained Object",
              "tsType": "DialogChainObject",
              "__exemption": [ "examples" ]
            }
          },

          "hide": {
            "type": "Function",
            "desc": "Hides the dialog when called",
            "params": null,
            "returns": {
              "type": "Object",
              "desc": "Chained Object",
              "tsType": "DialogChainObject",
              "__exemption": [ "examples" ]
            }
          }
        }
      }
    }
  }
}
