{
  "api": {
    "name": "CapacitorDownloaderPlugin",
    "slug": "capacitordownloaderplugin",
    "docs": "Capacitor plugin for downloading files with background support.\nProvides resumable downloads with progress tracking.",
    "tags": [],
    "methods": [
      {
        "name": "download",
        "signature": "(options: DownloadOptions) => Promise<DownloadTask>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Download configuration",
            "type": "DownloadOptions"
          }
        ],
        "returns": "Promise<DownloadTask>",
        "tags": [
          {
            "name": "param",
            "text": "options - Download configuration"
          },
          {
            "name": "returns",
            "text": "Promise with initial download task status"
          },
          {
            "name": "example",
            "text": "```typescript\nconst task = await Downloader.download({\n  id: 'my-download',\n  url: 'https://example.com/file.pdf',\n  destination: 'downloads/file.pdf',\n  notification: 'hidden', // Android: no system notification; use downloadProgress events\n});\n```"
          }
        ],
        "docs": "Start a new download task.",
        "complexTypes": [
          "DownloadTask",
          "DownloadOptions"
        ],
        "slug": "download"
      },
      {
        "name": "pause",
        "signature": "(options: { id: string; }) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Options containing the download task ID",
            "type": "{ id: string; }"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "options - Options containing the download task ID"
          },
          {
            "name": "returns",
            "text": "Promise that resolves when paused"
          }
        ],
        "docs": "Pause an active download.\nDownload can be resumed later from the same position.",
        "complexTypes": [],
        "slug": "pause"
      },
      {
        "name": "resume",
        "signature": "(options: { id: string; }) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Options containing the download task ID",
            "type": "{ id: string; }"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "options - Options containing the download task ID"
          },
          {
            "name": "returns",
            "text": "Promise that resolves when resumed"
          }
        ],
        "docs": "Resume a paused download.\nContinues from where it was paused.",
        "complexTypes": [],
        "slug": "resume"
      },
      {
        "name": "stop",
        "signature": "(options: { id: string; }) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Options containing the download task ID",
            "type": "{ id: string; }"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "options - Options containing the download task ID"
          },
          {
            "name": "returns",
            "text": "Promise that resolves when stopped"
          }
        ],
        "docs": "Stop and cancel a download permanently.\nDownloaded data will be deleted.",
        "complexTypes": [],
        "slug": "stop"
      },
      {
        "name": "checkStatus",
        "signature": "(options: { id: string; }) => Promise<DownloadTask>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Options containing the download task ID",
            "type": "{ id: string; }"
          }
        ],
        "returns": "Promise<DownloadTask>",
        "tags": [
          {
            "name": "param",
            "text": "options - Options containing the download task ID"
          },
          {
            "name": "returns",
            "text": "Promise with current download task status"
          }
        ],
        "docs": "Check the current status of a download.",
        "complexTypes": [
          "DownloadTask"
        ],
        "slug": "checkstatus"
      },
      {
        "name": "getFileInfo",
        "signature": "(options: { path: string; }) => Promise<{ size: number; type: string; }>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Options containing the file path",
            "type": "{ path: string; }"
          }
        ],
        "returns": "Promise<{ size: number; type: string; }>",
        "tags": [
          {
            "name": "param",
            "text": "options - Options containing the file path"
          },
          {
            "name": "returns",
            "text": "Promise with file size and MIME type"
          }
        ],
        "docs": "Get information about a downloaded file.",
        "complexTypes": [],
        "slug": "getfileinfo"
      },
      {
        "name": "addListener",
        "signature": "(eventName: 'downloadProgress', listenerFunc: (progress: { id: string; progress: number; bytesWritten?: number | undefined; bytesTotal?: number | undefined; }) => void) => Promise<PluginListenerHandle>",
        "parameters": [
          {
            "name": "eventName",
            "docs": "- Must be 'downloadProgress'",
            "type": "'downloadProgress'"
          },
          {
            "name": "listenerFunc",
            "docs": "- Callback receiving progress updates",
            "type": "(progress: { id: string; progress: number; bytesWritten?: number | undefined; bytesTotal?: number | undefined; }) => void"
          }
        ],
        "returns": "Promise<PluginListenerHandle>",
        "tags": [
          {
            "name": "param",
            "text": "eventName - Must be 'downloadProgress'"
          },
          {
            "name": "param",
            "text": "listenerFunc - Callback receiving progress updates"
          },
          {
            "name": "returns",
            "text": "Promise with listener handle for removal"
          },
          {
            "name": "example",
            "text": "```typescript\nconst listener = await Downloader.addListener('downloadProgress', (data) => {\n  console.log(`Download ${data.id}: ${data.progress}%`);\n});\n```"
          }
        ],
        "docs": "Listen for download progress updates.\nFired periodically as download progresses.",
        "complexTypes": [
          "PluginListenerHandle"
        ],
        "slug": "addlistenerdownloadprogress-"
      },
      {
        "name": "addListener",
        "signature": "(eventName: 'downloadCompleted', listenerFunc: (result: { id: string; }) => void) => Promise<PluginListenerHandle>",
        "parameters": [
          {
            "name": "eventName",
            "docs": "- Must be 'downloadCompleted'",
            "type": "'downloadCompleted'"
          },
          {
            "name": "listenerFunc",
            "docs": "- Callback receiving completion notification",
            "type": "(result: { id: string; }) => void"
          }
        ],
        "returns": "Promise<PluginListenerHandle>",
        "tags": [
          {
            "name": "param",
            "text": "eventName - Must be 'downloadCompleted'"
          },
          {
            "name": "param",
            "text": "listenerFunc - Callback receiving completion notification"
          },
          {
            "name": "returns",
            "text": "Promise with listener handle for removal"
          }
        ],
        "docs": "Listen for download completion.\nFired when a download finishes successfully.",
        "complexTypes": [
          "PluginListenerHandle"
        ],
        "slug": "addlistenerdownloadcompleted-"
      },
      {
        "name": "addListener",
        "signature": "(eventName: 'downloadFailed', listenerFunc: (error: { id: string; error: string; }) => void) => Promise<PluginListenerHandle>",
        "parameters": [
          {
            "name": "eventName",
            "docs": "- Must be 'downloadFailed'",
            "type": "'downloadFailed'"
          },
          {
            "name": "listenerFunc",
            "docs": "- Callback receiving error information",
            "type": "(error: { id: string; error: string; }) => void"
          }
        ],
        "returns": "Promise<PluginListenerHandle>",
        "tags": [
          {
            "name": "param",
            "text": "eventName - Must be 'downloadFailed'"
          },
          {
            "name": "param",
            "text": "listenerFunc - Callback receiving error information"
          },
          {
            "name": "returns",
            "text": "Promise with listener handle for removal"
          }
        ],
        "docs": "Listen for download failures.\nFired when a download encounters an error.",
        "complexTypes": [
          "PluginListenerHandle"
        ],
        "slug": "addlistenerdownloadfailed-"
      },
      {
        "name": "removeAllListeners",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "returns",
            "text": "Promise that resolves when all listeners removed"
          }
        ],
        "docs": "Remove all event listeners.\nCleanup method to prevent memory leaks.",
        "complexTypes": [],
        "slug": "removealllisteners"
      },
      {
        "name": "getPluginVersion",
        "signature": "() => Promise<{ version: string; }>",
        "parameters": [],
        "returns": "Promise<{ version: string; }>",
        "tags": [
          {
            "name": "returns",
            "text": "Promise with version string"
          }
        ],
        "docs": "Get the plugin version number.",
        "complexTypes": [],
        "slug": "getpluginversion"
      }
    ],
    "properties": []
  },
  "interfaces": [
    {
      "name": "DownloadTask",
      "slug": "downloadtask",
      "docs": "Represents the current state and progress of a download task.",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "id",
          "tags": [],
          "docs": "Unique identifier for the download task",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "progress",
          "tags": [],
          "docs": "Download progress from 0 to 100",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "state",
          "tags": [],
          "docs": "Current state of the download",
          "complexTypes": [],
          "type": "'PENDING' | 'RUNNING' | 'PAUSED' | 'DONE' | 'ERROR'"
        }
      ]
    },
    {
      "name": "DownloadOptions",
      "slug": "downloadoptions",
      "docs": "Configuration options for starting a download.",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "id",
          "tags": [],
          "docs": "Unique identifier for this download task",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "url",
          "tags": [],
          "docs": "URL of the file to download",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "destination",
          "tags": [],
          "docs": "Local file path where the download will be saved",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "headers",
          "tags": [],
          "docs": "Optional HTTP headers to include in the request",
          "complexTypes": [],
          "type": "{ [key: string]: string; } | undefined"
        },
        {
          "name": "network",
          "tags": [],
          "docs": "Network type requirement for download",
          "complexTypes": [],
          "type": "'cellular' | 'wifi-only' | undefined"
        },
        {
          "name": "priority",
          "tags": [],
          "docs": "Download priority level",
          "complexTypes": [],
          "type": "'high' | 'normal' | 'low' | undefined"
        },
        {
          "name": "notification",
          "tags": [
            {
              "text": "8.2.0",
              "name": "since"
            }
          ],
          "docs": "Android DownloadManager notification visibility.\n\n- `'completed'` (default): show while downloading and keep the notification after completion.\n- `'progress'`: show while downloading, remove the notification when finished.\n- `'hidden'`: no system notification; use plugin progress events instead.\n\nIgnored on iOS and Web.",
          "complexTypes": [],
          "type": "'completed' | 'progress' | 'hidden' | undefined"
        }
      ]
    },
    {
      "name": "PluginListenerHandle",
      "slug": "pluginlistenerhandle",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "remove",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "() => Promise<void>"
        }
      ]
    }
  ],
  "enums": [],
  "typeAliases": [],
  "pluginConfigs": []
}