{
  "description": "Global account and output options; send and receive are separate forms. Registration, linking, groups and daemon mode are left out.",
  "options": [
    {
      "names": [
        "--account",
        "-a"
      ],
      "description": "Include the country code, starting with +. Optional when only one account exists locally.",
      "args": {
        "name": "account",
        "description": "Include the country code, starting with +. Optional when only one account exists locally.",
        "isOptional": false
      }
    },
    {
      "names": [
        "--output",
        "-o"
      ],
      "description": "Output mode",
      "args": {
        "name": "output",
        "isOptional": false,
        "suggestions": [
          {
            "name": "plain-text",
            "description": "Plain text"
          },
          {
            "name": "json",
            "description": "JSON"
          }
        ]
      }
    }
  ],
  "name": "signal-cli",
  "subcommands": [
    {
      "name": "send",
      "description": "Send a text message, optionally with one attachment, to recipients or a group.",
      "options": [
        {
          "names": [
            "--message",
            "-m"
          ],
          "description": "Message",
          "args": {
            "name": "message",
            "isOptional": false
          }
        },
        {
          "names": [
            "--group-id",
            "-g"
          ],
          "description": "Group ID (base64)",
          "args": {
            "name": "group_id",
            "isOptional": false
          }
        },
        {
          "names": [
            "--attachment"
          ],
          "description": "One file. Several attachments are not offered in this form.",
          "args": {
            "name": "attachment",
            "description": "One file. Several attachments are not offered in this form.",
            "isOptional": false,
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--note-to-self"
          ],
          "description": "Send to myself"
        },
        {
          "names": [
            "--message-from-stdin"
          ],
          "description": "Read message from standard input"
        },
        {
          "names": [
            "--view-once"
          ],
          "description": "View-once message"
        }
      ],
      "args": [
        {
          "name": "recipient",
          "description": "Phone numbers including country code. Leave empty when using a group or note to self.",
          "isOptional": true,
          "isVariadic": true
        }
      ]
    },
    {
      "name": "receive",
      "description": "Fetch pending messages and print them.",
      "options": [
        {
          "names": [
            "--timeout",
            "-t"
          ],
          "description": "Timeout (seconds)",
          "args": {
            "name": "timeout",
            "isOptional": false
          }
        },
        {
          "names": [
            "--max-messages"
          ],
          "description": "Maximum messages",
          "args": {
            "name": "max_messages",
            "isOptional": false
          }
        },
        {
          "names": [
            "--ignore-attachments"
          ],
          "description": "Skip attachment downloads"
        },
        {
          "names": [
            "--send-read-receipts"
          ],
          "description": "Send read receipts"
        }
      ]
    }
  ]
}
