{
  "api": {
    "name": "AlarmPlugin",
    "slug": "alarmplugin",
    "docs": "",
    "tags": [],
    "methods": [
      {
        "name": "setAlarm",
        "signature": "(options: { alarmSettings: AlarmSettings; }) => any",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ alarmSettings: AlarmSettings; }"
          }
        ],
        "returns": "any",
        "tags": [],
        "docs": "Set an alarm with the specified settings",
        "complexTypes": [
          "AlarmSettings"
        ],
        "slug": "setalarm"
      },
      {
        "name": "stopAlarm",
        "signature": "(options: { alarmId: number; }) => any",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ alarmId: number; }"
          }
        ],
        "returns": "any",
        "tags": [],
        "docs": "Stop a specific alarm by ID",
        "complexTypes": [],
        "slug": "stopalarm"
      },
      {
        "name": "stopAll",
        "signature": "() => any",
        "parameters": [],
        "returns": "any",
        "tags": [],
        "docs": "Stop all active alarms",
        "complexTypes": [],
        "slug": "stopall"
      },
      {
        "name": "isRinging",
        "signature": "(options: { alarmId?: number; }) => any",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ alarmId?: number | undefined; }"
          }
        ],
        "returns": "any",
        "tags": [],
        "docs": "Check if an alarm is currently ringing",
        "complexTypes": [],
        "slug": "isringing"
      },
      {
        "name": "getAlarms",
        "signature": "() => any",
        "parameters": [],
        "returns": "any",
        "tags": [],
        "docs": "Get all scheduled alarms",
        "complexTypes": [
          "AlarmSettings"
        ],
        "slug": "getalarms"
      },
      {
        "name": "getRingingAlarms",
        "signature": "() => any",
        "parameters": [],
        "returns": "any",
        "tags": [
          {
            "name": "returns",
            "text": "Promise with array of ringing alarms and count"
          }
        ],
        "docs": "Get all currently ringing alarms with their full settings",
        "complexTypes": [
          "AlarmSettings"
        ],
        "slug": "getringingalarms"
      },
      {
        "name": "setWarningNotificationOnKill",
        "signature": "(options: { title: string; body: string; }) => any",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ title: string; body: string; }"
          }
        ],
        "returns": "any",
        "tags": [],
        "docs": "Set warning notification when app is killed",
        "complexTypes": [],
        "slug": "setwarningnotificationonkill"
      },
      {
        "name": "checkPermissions",
        "signature": "() => any",
        "parameters": [],
        "returns": "any",
        "tags": [],
        "docs": "Check current permission status",
        "complexTypes": [
          "PermissionStatus"
        ],
        "slug": "checkpermissions"
      },
      {
        "name": "requestPermissions",
        "signature": "() => any",
        "parameters": [],
        "returns": "any",
        "tags": [],
        "docs": "Request permissions for notifications",
        "complexTypes": [
          "PermissionStatus"
        ],
        "slug": "requestpermissions"
      },
      {
        "name": "requestFullScreenIntentPermission",
        "signature": "() => any",
        "parameters": [],
        "returns": "any",
        "tags": [],
        "docs": "Request full screen intent permission on Android\nThis is required for alarms to show properly on Android 14+\nIf the permission is denied, we have to ask the request",
        "complexTypes": [],
        "slug": "requestfullscreenintentpermission"
      },
      {
        "name": "addListener",
        "signature": "(eventName: 'alarmRang', listenerFunc: (data: { alarmId: number; }) => void) => any",
        "parameters": [
          {
            "name": "eventName",
            "docs": "",
            "type": "'alarmRang'"
          },
          {
            "name": "listenerFunc",
            "docs": "",
            "type": "(data: { alarmId: number; }) => void"
          }
        ],
        "returns": "any",
        "tags": [],
        "docs": "Add listener for alarm ring events",
        "complexTypes": [
          "PluginListenerHandle"
        ],
        "slug": "addlisteneralarmrang-"
      },
      {
        "name": "addListener",
        "signature": "(eventName: 'alarmStopped', listenerFunc: (data: { alarmId: number; }) => void) => any",
        "parameters": [
          {
            "name": "eventName",
            "docs": "",
            "type": "'alarmStopped'"
          },
          {
            "name": "listenerFunc",
            "docs": "",
            "type": "(data: { alarmId: number; }) => void"
          }
        ],
        "returns": "any",
        "tags": [],
        "docs": "Add listener for alarm stop events",
        "complexTypes": [
          "PluginListenerHandle"
        ],
        "slug": "addlisteneralarmstopped-"
      },
      {
        "name": "removeAllListeners",
        "signature": "() => any",
        "parameters": [],
        "returns": "any",
        "tags": [],
        "docs": "Remove all listeners for this plugin",
        "complexTypes": [],
        "slug": "removealllisteners"
      }
    ],
    "properties": []
  },
  "interfaces": [
    {
      "name": "AlarmSettings",
      "slug": "alarmsettings",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "id",
          "tags": [],
          "docs": "Unique identifier of the alarm",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "dateTime",
          "tags": [],
          "docs": "The date and time when the alarm should ring (ISO string)",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "assetAudioPath",
          "tags": [],
          "docs": "The path to audio asset for the alarm ringtone",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "volumeSettings",
          "tags": [],
          "docs": "Volume settings for the alarm",
          "complexTypes": [
            "VolumeSettings"
          ],
          "type": "VolumeSettings"
        },
        {
          "name": "notificationSettings",
          "tags": [],
          "docs": "Notification settings for the alarm",
          "complexTypes": [
            "NotificationSettings"
          ],
          "type": "NotificationSettings"
        },
        {
          "name": "loopAudio",
          "tags": [
            {
              "text": "true",
              "name": "default"
            }
          ],
          "docs": "Whether to loop the audio indefinitely",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "vibrate",
          "tags": [
            {
              "text": "true",
              "name": "default"
            }
          ],
          "docs": "Whether to vibrate when alarm rings",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "warningNotificationOnKill",
          "tags": [
            {
              "text": "true",
              "name": "default"
            }
          ],
          "docs": "Whether to show warning notification when app is killed",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "androidFullScreenIntent",
          "tags": [
            {
              "text": "true",
              "name": "default"
            }
          ],
          "docs": "Whether to use full screen intent on Android",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "allowAlarmOverlap",
          "tags": [
            {
              "text": "false",
              "name": "default"
            }
          ],
          "docs": "Whether to allow alarm overlap",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "iOSBackgroundAudio",
          "tags": [
            {
              "text": "true",
              "name": "default"
            }
          ],
          "docs": "Whether to enable background audio on iOS",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "androidStopAlarmOnTermination",
          "tags": [
            {
              "text": "true",
              "name": "default"
            }
          ],
          "docs": "Whether to stop alarm when Android task is terminated",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "snoozeDurationMinutes",
          "tags": [
            {
              "text": "5",
              "name": "default"
            }
          ],
          "docs": "Duration in minutes for the snooze interval",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "payload",
          "tags": [],
          "docs": "Optional payload data",
          "complexTypes": [],
          "type": "string | undefined"
        }
      ]
    },
    {
      "name": "VolumeSettings",
      "slug": "volumesettings",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "volume",
          "tags": [],
          "docs": "System volume level (0.0 to 1.0)",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "fadeDuration",
          "tags": [],
          "docs": "Duration over which to fade the alarm (in milliseconds)",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "fadeSteps",
          "tags": [],
          "docs": "Volume fade steps for custom fade patterns",
          "complexTypes": [
            "VolumeFadeStep"
          ],
          "type": "{} | undefined"
        },
        {
          "name": "volumeEnforced",
          "tags": [
            {
              "text": "false",
              "name": "default"
            }
          ],
          "docs": "Whether to enforce the volume setting",
          "complexTypes": [],
          "type": "boolean | undefined"
        }
      ]
    },
    {
      "name": "VolumeFadeStep",
      "slug": "volumefadestep",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "time",
          "tags": [],
          "docs": "Time in milliseconds from alarm start",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "volume",
          "tags": [],
          "docs": "Volume level at this time (0.0 to 1.0)",
          "complexTypes": [],
          "type": "number"
        }
      ]
    },
    {
      "name": "NotificationSettings",
      "slug": "notificationsettings",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "title",
          "tags": [],
          "docs": "Title of the alarm notification",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "body",
          "tags": [],
          "docs": "Body of the alarm notification",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "stopButton",
          "tags": [],
          "docs": "Text for the stop button (null to hide button)",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "snoozeButton",
          "tags": [],
          "docs": "Text for the snooze button (null to hide button)",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "icon",
          "tags": [],
          "docs": "Icon name for the notification (Android only)",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "iconColor",
          "tags": [],
          "docs": "Color of the notification icon as hex string (Android only)",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "image",
          "tags": [],
          "docs": "Image to show in the notification",
          "complexTypes": [],
          "type": "string | undefined"
        }
      ]
    },
    {
      "name": "PermissionStatus",
      "slug": "permissionstatus",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "notifications",
          "tags": [],
          "docs": "Permission state for notifications",
          "complexTypes": [
            "PermissionState"
          ],
          "type": "PermissionState"
        },
        {
          "name": "fullScreen",
          "tags": [],
          "docs": "Permission state fullScreenIntent on Android\nIf the permission is denied, we have to ask the request",
          "complexTypes": [
            "PermissionState"
          ],
          "type": "PermissionState"
        }
      ]
    },
    {
      "name": "PluginListenerHandle",
      "slug": "pluginlistenerhandle",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "remove",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "() => any"
        }
      ]
    }
  ],
  "enums": [],
  "typeAliases": [
    {
      "name": "PermissionState",
      "slug": "permissionstate",
      "docs": "",
      "types": [
        {
          "text": "'prompt'",
          "complexTypes": []
        },
        {
          "text": "'prompt-with-rationale'",
          "complexTypes": []
        },
        {
          "text": "'granted'",
          "complexTypes": []
        },
        {
          "text": "'denied'",
          "complexTypes": []
        }
      ]
    }
  ],
  "pluginConfigs": []
}