{"_id":"@capgo/capacitor-firebase-storage","_rev":"5-f29ce78c84bcb7331f66d10efb4b4f58","name":"@capgo/capacitor-firebase-storage","dist-tags":{"latest":"8.3.1"},"versions":{"7.4.0":{"name":"@capgo/capacitor-firebase-storage","version":"7.4.0","keywords":["capacitor","plugin","native"],"author":{"name":"Capgo Team"},"license":"Apache-2.0","_id":"@capgo/capacitor-firebase-storage@7.4.0","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/","bugs":{"url":"https://github.com/Cap-go/capacitor-firebase/issues"},"dist":{"shasum":"df096e039bf81a9a04a216a751babe8b99327e3b","tarball":"https://registry.npmjs.org/@capgo/capacitor-firebase-storage/-/capacitor-firebase-storage-7.4.0.tgz","fileCount":55,"integrity":"sha512-UAuLficCEycLEZ8r4gAJADzSeE8b3Ycy9xPjJMy/3s+vYRxXIfyv97LLz/8eFY/LsakjMfjrp9gikUkBgcpBZg==","signatures":[{"sig":"MEUCIF7VIQquCkVCW0MdkYiUY/TOK6eL2auiue7Sa8DY58fPAiEAjHDzr8AgNqCoff8zxkAZqou8V+Uh6m/iwWfzZIh4s+c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171835},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"97786da96a720a520f80ac1031a0f12063f135d7","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api FirebaseStoragePlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorFirebaseStorage -destination generic/platform=iOS","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-firebase.git","type":"git"},"_npmVersion":"11.6.2","description":"Capacitor plugin for Firebase Cloud Storage.","directories":{},"_nodeVersion":"24.11.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.0.1","rollup":"4.30.1","firebase":"12.6.0","prettier":"3.4.2","swiftlint":"2.0.0","typescript":"4.1.5","@capacitor/cli":"7.0.0","@capacitor/ios":"7.0.0","@capacitor/core":"7.0.0","@capacitor/docgen":"0.3.0","@capacitor/android":"7.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"2.0.0"},"peerDependencies":{"firebase":"12.6.0","@capacitor/core":">=7.0.0"},"peerDependenciesMeta":{"firebase":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/capacitor-firebase-storage_7.4.0_1763999204135_0.43757198414737064","host":"s3://npm-registry-packages-npm-production"}},"7.4.1":{"name":"@capgo/capacitor-firebase-storage","version":"7.4.1","keywords":["capacitor","plugin","native"],"author":{"name":"Capgo Team"},"license":"Apache-2.0","_id":"@capgo/capacitor-firebase-storage@7.4.1","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/","bugs":{"url":"https://github.com/Cap-go/capacitor-firebase/issues"},"dist":{"shasum":"690c943f5154200fbcba18ef0f38dbcbd7d77d7e","tarball":"https://registry.npmjs.org/@capgo/capacitor-firebase-storage/-/capacitor-firebase-storage-7.4.1.tgz","fileCount":55,"integrity":"sha512-45cktxxyYBJmNdNW2w3xzRhENaXGL9V1+1OKk+4lqvhBFbtjblxHkTNEloYNLyoLwuGtr17UhzCxJrdm80330A==","signatures":[{"sig":"MEUCIA6hC6ck88w/X8DgLxHomCfyqLZvVRIq5V2f5Su/dZC+AiEAtPiKdSlAgUWwNx/Gizx+n7/Sm39gTe4cpUZZPtkUZR0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":171835},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"c965f5a7def32792245434af874be9775557c34d","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api FirebaseStoragePlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorFirebaseStorage -destination generic/platform=iOS","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-firebase.git","type":"git"},"_npmVersion":"11.6.2","description":"Capacitor plugin for Firebase Cloud Storage.","directories":{},"_nodeVersion":"24.11.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.0.1","rollup":"4.30.1","firebase":"12.6.0","prettier":"3.4.2","swiftlint":"2.0.0","typescript":"4.1.5","@capacitor/cli":"7.0.0","@capacitor/ios":"7.0.0","@capacitor/core":"7.0.0","@capacitor/docgen":"0.3.0","@capacitor/android":"7.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"2.0.0"},"peerDependencies":{"firebase":"12.6.0","@capacitor/core":">=7.0.0"},"peerDependenciesMeta":{"firebase":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/capacitor-firebase-storage_7.4.1_1763999764059_0.9483566438938946","host":"s3://npm-registry-packages-npm-production"}},"7.4.2":{"name":"@capgo/capacitor-firebase-storage","version":"7.4.2","keywords":["capacitor","plugin","native"],"author":{"name":"Capgo Team"},"license":"MPL-2.0","_id":"@capgo/capacitor-firebase-storage@7.4.2","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"}],"homepage":"https://capgo.app/","bugs":{"url":"https://github.com/Cap-go/capacitor-firebase/issues"},"dist":{"shasum":"99625b2890597a7d75d466abf725655bb8aedfea","tarball":"https://registry.npmjs.org/@capgo/capacitor-firebase-storage/-/capacitor-firebase-storage-7.4.2.tgz","fileCount":56,"integrity":"sha512-JEymIaR0buari9vfkSPb+umwfEwr4OsZR0y3LUO+5p0DYnzjsf9XptsJgw9hmpEXrHwiUZ551UQh06w+5iW9GA==","signatures":[{"sig":"MEUCIB+O+d9MtoIME3sigPqQPoqATTAmThPxxVwg5WHrHdnQAiEApYJqVUhA3bH54vfArMAws7eBI3z3uGPoCjxHDzG5IQM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188557},"main":"dist/plugin.cjs.js","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","module":"dist/esm/index.js","gitHead":"8d8a06c3dfefe13eb43aaf4313ef701ee9a76767","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api FirebaseStoragePlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\" --plugin=prettier-plugin-java","swiftlint":"node-swiftlint","verify:ios":"xcodebuild -scheme CapgoCapacitorFirebaseStorage -destination generic/platform=iOS","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"_npmUser":{"name":"riderx","email":"martin.donadieu@hey.com"},"prettier":"@ionic/prettier-config","capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"swiftlint":"@ionic/swiftlint-config","repository":{"url":"git+https://github.com/Cap-go/capacitor-firebase.git","type":"git"},"_npmVersion":"11.6.2","description":"Capacitor plugin for Firebase Cloud Storage.","directories":{},"_nodeVersion":"24.11.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"8.57.0","rimraf":"6.0.1","rollup":"4.30.1","firebase":"12.6.0","prettier":"3.4.2","swiftlint":"2.0.0","typescript":"4.1.5","@capacitor/cli":"7.0.0","@capacitor/ios":"7.0.0","@capacitor/core":"7.0.0","@capacitor/docgen":"0.3.0","@capacitor/android":"7.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7","@ionic/prettier-config":"^4.0.0","@ionic/swiftlint-config":"2.0.0"},"peerDependencies":{"firebase":"12.6.0","@capacitor/core":">=7.0.0"},"peerDependenciesMeta":{"firebase":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/capacitor-firebase-storage_7.4.2_1764858736438_0.19525314867992805","host":"s3://npm-registry-packages-npm-production"}},"8.3.1":{"_id":"@capgo/capacitor-firebase-storage@8.3.1","bugs":{"url":"https://github.com/Cap-go/capacitor-firebase/issues"},"dist":{"shasum":"cda05e8d6f47f9c766bbf34c6be09ab1f69536f2","tarball":"https://registry.npmjs.org/@capgo/capacitor-firebase-storage/-/capacitor-firebase-storage-8.3.1.tgz","integrity":"sha512-MBZxeXvgbfkjfXrXl2HDV0YIbGHvJ4owLhF/uj1HI9KGgQWGoMS9wy7D3cuk5Hrg03CezrgXT3tPoJlfzrTBLw==","fileCount":61,"unpackedSize":218929,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@capgo%2fcapacitor-firebase-storage@8.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIALc3P2R+qBW22Ohj1ZxHu7IaxvJ9xzdkWJhOvly1QG2AiAiWtZF+qELaoEJIaYa52MD+P5cscq7U6mQn6N2eKakjw=="}]},"main":"dist/plugin.cjs.js","name":"@capgo/capacitor-firebase-storage","types":"dist/esm/index.d.ts","unpkg":"dist/plugin.js","author":{"name":"Capgo Team"},"module":"dist/esm/index.js","gitHead":"b31170840e1b360ddeb7b6f4f385eea3ebe8167d","license":"MPL-2.0","scripts":{"fmt":"npm run eslint -- --fix && npm run prettier -- --write && npm run swiftlint -- --fix --format","lint":"npm run eslint && npm run prettier -- --check && npm run swiftlint -- lint","build":"npm run clean && npm run docgen && tsc && rollup -c rollup.config.mjs","clean":"rimraf ./dist","watch":"tsc --watch","docgen":"docgen --api FirebaseStoragePlugin --output-readme README.md --output-json dist/docs.json","eslint":"eslint . --ext ts","verify":"npm run verify:ios && npm run verify:android && npm run verify:web","prettier":"prettier \"**/*.{css,html,ts,js,java}\"","swiftlint":"node-swiftlint","verify:ios":"cd ios && pod install && xcodebuild -workspace Plugin.xcworkspace -scheme Plugin -destination generic/platform=iOS && cd ..","verify:web":"npm run build","prepublishOnly":"npm run build","verify:android":"cd android && ./gradlew clean build test && cd ..","ios:pod:install":"cd ios && pod install --repo-update && cd ..","ios:spm:install":"cd ios && swift package resolve && cd .."},"version":"8.3.1","_npmUser":{"name":"torichancapgo","email":"tori@capgo.app","approver":{"name":"torichancapgo","email":"tori@capgo.app"}},"homepage":"https://capgo.app/","keywords":["capacitor","plugin","native"],"capacitor":{"ios":{"src":"ios"},"android":{"src":"android"}},"repository":{"url":"git+https://github.com/Cap-go/capacitor-firebase.git","type":"git"},"_npmVersion":"11.19.1","description":"Capacitor plugin for Firebase Cloud Storage.","directories":{},"maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"},{"name":"torichancapgo","email":"tori@capgo.app"}],"_nodeVersion":"24.20.0","eslintConfig":{"extends":"@ionic/eslint-config/recommended"},"publishConfig":{"access":"public"},"devDependencies":{"eslint":"8.57.0","rimraf":"6.1.2","rollup":"4.53.3","firebase":"12.6.0","prettier":"3.4.2","swiftlint":"2.0.0","typescript":"5.9.3","@capacitor/cli":"8.0.0","@capacitor/ios":"8.0.0","@capacitor/core":"8.0.0","@capacitor/docgen":"0.3.1","@capacitor/android":"8.0.0","@ionic/eslint-config":"0.4.0","prettier-plugin-java":"2.6.7"},"peerDependencies":{"firebase":"^12.6.0","@capacitor/core":">=8.0.0"},"peerDependenciesMeta":{"firebase":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/capacitor-firebase-storage_8.3.1_1789405653100_0.36059528840155974"},"_hasShrinkwrap":false}},"time":{"created":"2025-11-24T15:46:43.949Z","modified":"2026-09-14T17:07:33.513Z","7.4.0":"2025-11-24T15:46:44.330Z","7.4.1":"2025-11-24T15:56:04.245Z","7.4.2":"2025-12-04T14:32:16.593Z","8.3.1":"2026-09-14T17:07:33.186Z"},"bugs":{"url":"https://github.com/Cap-go/capacitor-firebase/issues"},"author":{"name":"Capgo Team"},"license":"MPL-2.0","homepage":"https://capgo.app/","keywords":["capacitor","plugin","native"],"repository":{"url":"git+https://github.com/Cap-go/capacitor-firebase.git","type":"git"},"description":"Capacitor plugin for Firebase Cloud Storage.","maintainers":[{"name":"riderx","email":"martin.donadieu@hey.com"},{"name":"torichancapgo","email":"tori@capgo.app"}],"readme":"# @capgo/capacitor-firebase-storage\n<a href=\"https://capgo.app/\"><img src=\"https://capgo.app/readme-banner.svg?repo=Cap-go/capacitor-firebase\" alt=\"Capgo - Instant updates for Capacitor\" /></a>\n\n<div align=\"center\">\n  <h2><a href=\"https://capgo.app/?ref=plugin\"> ➡️ Get Instant updates for your App with Capgo</a></h2>\n  <h2><a href=\"https://capgo.app/consulting/?ref=plugin\"> Missing a feature? We'll build the plugin for you 💪</a></h2>\n</div>\n\nUnofficial Capacitor plugin for [Firebase Cloud Storage](https://firebase.google.com/docs/storage/).[^1]\n\n\n## Compatibility\n\n| Plugin Version | Capacitor Version | Status         |\n| -------------- | ----------------- | -------------- |\n| 8.x.x          | >=8.x.x           | Active support |\n| 7.x.x          | 7.x.x             | Deprecated     |\n| 6.x.x          | 6.x.x             | Deprecated     |\n\n## Installation\n\nYou can use our AI-Assisted Setup to install the plugin. Add the Capgo skills to your AI tool using the following command:\n\n```bash\nnpx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins\n```\n\nThen use the following prompt:\n\n```text\nUse the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-firebase-storage` plugin in my project.\n```\n\nIf you prefer Manual Setup, install the plugin by running the following commands and follow the platform-specific instructions below:\n\n```bash\nnpm install @capgo/capacitor-firebase-storage\nnpx cap sync\n```\n\nAdd Firebase to your project if you haven't already ([Android](https://firebase.google.com/docs/android/setup) / [iOS](https://firebase.google.com/docs/ios/setup)).\n\n### Android\n\n#### Variables\n\nIf needed, you can define the following project variable in your app’s `variables.gradle` file to change the default version of the dependency:\n\n- `$firebaseStorageVersion` version of `com.google.firebase:firebase-storage` (default: `22.0.1`)\n\nThis can be useful if you encounter dependency conflicts with other plugins in your project.\n\n## Configuration\n\nNo configuration required for this plugin.\n\n## Demo\n\nA working example can be found here: [robingenz/capacitor-firebase-plugin-demo](https://github.com/robingenz/capacitor-firebase-plugin-demo)\n\n## Starter templates\n\nThe following starter templates are available:\n\n- [Ionstarter Angular Firebase](https://ionstarter.dev/)\n\n## Usage\n\n```typescript\nimport { FirebaseStorage } from '@capgo/capacitor-firebase-storage';\nimport { Filesystem, Directory } from '@capacitor/filesystem';\n\nconst uploadFile = async () => {\n  return new Promise((resolve, reject) => {\n    await FirebaseStorage.uploadFile(\n      {\n        path: 'images/mountains.png',\n        uri: 'file:///var/mobile/Containers/Data/Application/E397A70D-67E4-4258-236E-W1D9E12111D4/Library/Caches/092F8464-DE60-40B3-8A23-EB83160D9F9F/mountains.png',\n      },\n      (event, error) => {\n        if (error) {\n          reject(error);\n        } else if (event?.completed) {\n          resolve();\n        }\n      }\n    );\n  });\n};\n\nconst downloadFile = async () => {\n  const { downloadUrl } = await FirebaseStorage.getDownloadUrl({\n    path: 'images/mountains.png',\n  });\n  const { path } = await Filesystem.downloadFile({\n    url: downloadUrl,\n    path: 'mountains.png',\n    directory: Directory.Cache,\n  });\n  return path;\n};\n\nconst getDownloadUrl = async () => {\n  const { downloadUrl } = await FirebaseStorage.getDownloadUrl({\n    path: 'images/mountains.png',\n  });\n  return downloadUrl;\n};\n\nconst deleteFile = async () => {\n  await FirebaseStorage.deleteFile({\n    path: 'images/mountains.png',\n  });\n};\n\nconst listFiles = async () => {\n  const { items } = await FirebaseStorage.listFiles({\n    path: 'images',\n  });\n  return items;\n};\n\nconst getMetadata = async () => {\n  const result = await FirebaseStorage.getMetadata({\n    path: 'images/mountains.png',\n  });\n  return result;\n};\n\nconst updateMetadata = async () => {\n  await FirebaseStorage.updateMetadata({\n    path: 'images/mountains.png',\n    metadata: {\n      contentType: 'image/png',\n      customMetadata: {\n        foo: 'bar',\n      },\n    },\n  });\n};\n\nconst useEmulator = async () => {\n  await FirebaseStorage.useEmulator({\n    host: '10.0.2.2',\n    port: 9001,\n  });\n};\n```\n\n## API\n\n<docgen-index>\n\n* [`deleteFile(...)`](#deletefile)\n* [`getDownloadUrl(...)`](#getdownloadurl)\n* [`getMetadata(...)`](#getmetadata)\n* [`listFiles(...)`](#listfiles)\n* [`updateMetadata(...)`](#updatemetadata)\n* [`downloadFile(...)`](#downloadfile)\n* [`uploadFile(...)`](#uploadfile)\n* [`useEmulator(...)`](#useemulator)\n* [`getPluginVersion()`](#getpluginversion)\n* [Interfaces](#interfaces)\n* [Type Aliases](#type-aliases)\n\n</docgen-index>\n\n<docgen-api>\n<!--Update the source file JSDoc comments and rerun docgen to update the docs below-->\n\n### deleteFile(...)\n\n```typescript\ndeleteFile(options: DeleteFileOptions) => Promise<void>\n```\n\nDelete a file.\n\n| Param         | Type                                                            |\n| ------------- | --------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#deletefileoptions\">DeleteFileOptions</a></code> |\n\n**Since:** 5.3.0\n\n--------------------\n\n\n### getDownloadUrl(...)\n\n```typescript\ngetDownloadUrl(options: GetDownloadUrlOptions) => Promise<GetDownloadUrlResult>\n```\n\nGet the download url for a file.\n\n| Param         | Type                                                                    |\n| ------------- | ----------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#getdownloadurloptions\">GetDownloadUrlOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#getdownloadurlresult\">GetDownloadUrlResult</a>&gt;</code>\n\n**Since:** 5.3.0\n\n--------------------\n\n\n### getMetadata(...)\n\n```typescript\ngetMetadata(options: GetMetadataOptions) => Promise<GetMetadataResult>\n```\n\nGet the metadata for a file.\n\n| Param         | Type                                                              |\n| ------------- | ----------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#getmetadataoptions\">GetMetadataOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#getmetadataresult\">GetMetadataResult</a>&gt;</code>\n\n**Since:** 5.3.0\n\n--------------------\n\n\n### listFiles(...)\n\n```typescript\nlistFiles(options: ListFilesOptions) => Promise<ListFilesResult>\n```\n\nList files in a directory.\n\n| Param         | Type                                                          |\n| ------------- | ------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#listfilesoptions\">ListFilesOptions</a></code> |\n\n**Returns:** <code>Promise&lt;<a href=\"#listfilesresult\">ListFilesResult</a>&gt;</code>\n\n**Since:** 5.3.0\n\n--------------------\n\n\n### updateMetadata(...)\n\n```typescript\nupdateMetadata(options: UpdateMetadataOptions) => Promise<void>\n```\n\nUpdate the metadata for a file.\n\n| Param         | Type                                                                    |\n| ------------- | ----------------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#updatemetadataoptions\">UpdateMetadataOptions</a></code> |\n\n**Since:** 5.3.0\n\n--------------------\n\n\n### downloadFile(...)\n\n```typescript\ndownloadFile(options: DownloadFileOptions, callback: DownloadFileCallback) => Promise<CallbackId>\n```\n\nDownload a file.\n\nOn **Android** and **iOS**, the file is downloaded to the local file system\nusing the `uri` option.\n\nOn **Web**, the file is downloaded as a `Blob` and returned in the\ncallback event.\n\n| Param          | Type                                                                  |\n| -------------- | --------------------------------------------------------------------- |\n| **`options`**  | <code><a href=\"#downloadfileoptions\">DownloadFileOptions</a></code>   |\n| **`callback`** | <code><a href=\"#downloadfilecallback\">DownloadFileCallback</a></code> |\n\n**Returns:** <code>Promise&lt;string&gt;</code>\n\n**Since:** 8.2.0\n\n--------------------\n\n\n### uploadFile(...)\n\n```typescript\nuploadFile(options: UploadFileOptions, callback: UploadFileCallback) => Promise<CallbackId>\n```\n\nUpload a file.\n\n| Param          | Type                                                              |\n| -------------- | ----------------------------------------------------------------- |\n| **`options`**  | <code><a href=\"#uploadfileoptions\">UploadFileOptions</a></code>   |\n| **`callback`** | <code><a href=\"#uploadfilecallback\">UploadFileCallback</a></code> |\n\n**Returns:** <code>Promise&lt;string&gt;</code>\n\n**Since:** 5.3.0\n\n--------------------\n\n\n### useEmulator(...)\n\n```typescript\nuseEmulator(options: UseEmulatorOptions) => Promise<void>\n```\n\nInstrument your app to talk to the Cloud Storage emulator.\n\nOn Android, the cleartext traffic must be allowed. On the Capacitor configuration:\n```\n{\n  server: {\n    cleartext: true\n  }\n}\n```\n**The cleartext traffic is not intended for use in production.**\n\n| Param         | Type                                                              |\n| ------------- | ----------------------------------------------------------------- |\n| **`options`** | <code><a href=\"#useemulatoroptions\">UseEmulatorOptions</a></code> |\n\n**Since:** 6.1.0\n\n--------------------\n\n\n### getPluginVersion()\n\n```typescript\ngetPluginVersion() => Promise<GetPluginVersionResult>\n```\n\nGet the version of this plugin.\n\n**Returns:** <code>Promise&lt;<a href=\"#getpluginversionresult\">GetPluginVersionResult</a>&gt;</code>\n\n**Since:** 8.0.1\n\n--------------------\n\n\n### Interfaces\n\n\n#### DeleteFileOptions\n\n| Prop       | Type                | Description                                                   | Since |\n| ---------- | ------------------- | ------------------------------------------------------------- | ----- |\n| **`path`** | <code>string</code> | The full path to the file to delete, including the file name. | 5.3.0 |\n\n\n#### GetDownloadUrlResult\n\n| Prop              | Type                | Description                    | Since |\n| ----------------- | ------------------- | ------------------------------ | ----- |\n| **`downloadUrl`** | <code>string</code> | The download url for the file. | 5.3.0 |\n\n\n#### GetDownloadUrlOptions\n\n| Prop       | Type                | Description                                                                     | Since |\n| ---------- | ------------------- | ------------------------------------------------------------------------------- | ----- |\n| **`path`** | <code>string</code> | The full path to the file to get the download url for, including the file name. | 5.3.0 |\n\n\n#### GetMetadataResult\n\n| Prop                     | Type                                    | Description                                                                       | Since |\n| ------------------------ | --------------------------------------- | --------------------------------------------------------------------------------- | ----- |\n| **`bucket`**             | <code>string</code>                     | The bucket this file is contained in.                                             | 5.3.0 |\n| **`createdAt`**          | <code>number</code>                     | The timestamp at which the file was created in milliseconds since the epoch.      | 5.3.0 |\n| **`generation`**         | <code>string</code>                     | The object's generation.                                                          | 5.3.0 |\n| **`md5Hash`**            | <code>string</code>                     | The md5 hash of the file.                                                         | 5.3.0 |\n| **`metadataGeneration`** | <code>string</code>                     | The object's metadata generation.                                                 | 5.3.0 |\n| **`name`**               | <code>string</code>                     | The short name of this file, which is the last component of the full path.        | 5.3.0 |\n| **`path`**               | <code>string</code>                     | The full path to the file, including the file name.                               | 5.3.0 |\n| **`size`**               | <code>number</code>                     | The size of the file in bytes.                                                    | 5.3.0 |\n| **`updatedAt`**          | <code>number</code>                     | The timestamp at which the file was last updated in milliseconds since the epoch. | 5.3.0 |\n| **`cacheControl`**       | <code>string</code>                     | Served as the `Cache-Control` header on object download.                          | 6.1.0 |\n| **`contentDisposition`** | <code>string</code>                     | Served as the `Content-Disposition` header on object download.                    | 6.1.0 |\n| **`contentEncoding`**    | <code>string</code>                     | Served as the `Content-Encoding` header on object download.                       | 6.1.0 |\n| **`contentLanguage`**    | <code>string</code>                     | Served as the `Content-Language` header on object download.                       | 6.1.0 |\n| **`contentType`**        | <code>string</code>                     | Served as the `Content-Type` header on object download.                           | 6.1.0 |\n| **`customMetadata`**     | <code>{ [key: string]: string; }</code> | Additional user-defined custom metadata.                                          | 6.1.0 |\n\n\n#### GetMetadataOptions\n\n| Prop       | Type                | Description                                                                 | Since |\n| ---------- | ------------------- | --------------------------------------------------------------------------- | ----- |\n| **`path`** | <code>string</code> | The full path to the file to get the metadata for, including the file name. | 5.3.0 |\n\n\n#### ListFilesResult\n\n| Prop                | Type                            | Description                                                                           | Since |\n| ------------------- | ------------------------------- | ------------------------------------------------------------------------------------- | ----- |\n| **`items`**         | <code>StorageReference[]</code> | The list of files in the directory.                                                   | 5.3.0 |\n| **`nextPageToken`** | <code>string</code>             | If set, there might be more results for this list. Use this token to resume the list. | 5.3.0 |\n\n\n#### StorageReference\n\n| Prop         | Type                | Description                                                                | Since |\n| ------------ | ------------------- | -------------------------------------------------------------------------- | ----- |\n| **`bucket`** | <code>string</code> | The bucket this file is contained in.                                      | 5.3.0 |\n| **`path`**   | <code>string</code> | The full path to the file, including the file name.                        | 5.3.0 |\n| **`name`**   | <code>string</code> | The short name of this file, which is the last component of the full path. | 5.3.0 |\n\n\n#### ListFilesOptions\n\n| Prop             | Type                | Description                                                                                                             | Default           | Since |\n| ---------------- | ------------------- | ----------------------------------------------------------------------------------------------------------------------- | ----------------- | ----- |\n| **`path`**       | <code>string</code> | The full path to the directory to list files for.                                                                       |                   | 5.3.0 |\n| **`maxResults`** | <code>number</code> | The maximum number of results to return.                                                                                | <code>1000</code> | 5.3.0 |\n| **`pageToken`**  | <code>string</code> | The page token, returned by a previous call to this method. If provided, listing is resumed from the previous position. |                   | 5.3.0 |\n\n\n#### UpdateMetadataOptions\n\n| Prop           | Type                                                          | Description                                                                    | Since |\n| -------------- | ------------------------------------------------------------- | ------------------------------------------------------------------------------ | ----- |\n| **`path`**     | <code>string</code>                                           | The full path to the file to update the metadata for, including the file name. | 5.3.0 |\n| **`metadata`** | <code><a href=\"#settablemetadata\">SettableMetadata</a></code> | The metadata to update.                                                        | 5.3.0 |\n\n\n#### SettableMetadata\n\n| Prop                     | Type                                    | Description                                                    | Since |\n| ------------------------ | --------------------------------------- | -------------------------------------------------------------- | ----- |\n| **`cacheControl`**       | <code>string</code>                     | Served as the `Cache-Control` header on object download.       | 5.3.0 |\n| **`contentDisposition`** | <code>string</code>                     | Served as the `Content-Disposition` header on object download. | 5.3.0 |\n| **`contentEncoding`**    | <code>string</code>                     | Served as the `Content-Encoding` header on object download.    | 5.3.0 |\n| **`contentLanguage`**    | <code>string</code>                     | Served as the `Content-Language` header on object download.    | 5.3.0 |\n| **`contentType`**        | <code>string</code>                     | Served as the `Content-Type` header on object download.        | 5.3.0 |\n| **`customMetadata`**     | <code>{ [key: string]: string; }</code> | Additional user-defined custom metadata.                       | 5.3.0 |\n\n\n#### DownloadFileOptions\n\n| Prop       | Type                | Description                                                          | Since |\n| ---------- | ------------------- | -------------------------------------------------------------------- | ----- |\n| **`path`** | <code>string</code> | The full path to the file to download, including the file name.      | 8.2.0 |\n| **`uri`**  | <code>string</code> | The uri to download the file to. Only available for Android and iOS. | 8.2.0 |\n\n\n#### DownloadFileCallbackEvent\n\n| Prop                   | Type                 | Description                                                                         | Since |\n| ---------------------- | -------------------- | ----------------------------------------------------------------------------------- | ----- |\n| **`progress`**         | <code>number</code>  | The download progress, as a percentage between 0 and 1.                             | 8.2.0 |\n| **`bytesTransferred`** | <code>number</code>  | The number of bytes that have been transferred. Only available for Android and Web. | 8.2.0 |\n| **`totalBytes`**       | <code>number</code>  | The total number of bytes to be transferred. Only available for Android and Web.    | 8.2.0 |\n| **`completed`**        | <code>boolean</code> | Whether the download is completed or not.                                           | 8.2.0 |\n| **`blob`**             | <code>Blob</code>    | The downloaded file as a Blob. Only available for Web.                              | 8.2.0 |\n\n\n#### UploadFileOptions\n\n| Prop           | Type                                                      | Description                                                           | Since |\n| -------------- | --------------------------------------------------------- | --------------------------------------------------------------------- | ----- |\n| **`blob`**     | <code>Blob</code>                                         | The data to upload. Only available for Web.                           | 5.3.0 |\n| **`path`**     | <code>string</code>                                       | The full path where data should be uploaded, including the file name. | 5.3.0 |\n| **`uri`**      | <code>string</code>                                       | The uri to the file to upload. Only available for Android and iOS.    | 5.3.0 |\n| **`metadata`** | <code><a href=\"#uploadmetadata\">UploadMetadata</a></code> | The metadata to set for the file.                                     | 5.4.0 |\n\n\n#### UploadMetadata\n\n| Prop          | Type                | Description                                                      | Since |\n| ------------- | ------------------- | ---------------------------------------------------------------- | ----- |\n| **`md5Hash`** | <code>string</code> | The base64-encoded MD5 hash of the file. Only available for Web. | 5.4.0 |\n\n\n#### UploadFileCallbackEvent\n\n| Prop                   | Type                 | Description                                                                         | Since |\n| ---------------------- | -------------------- | ----------------------------------------------------------------------------------- | ----- |\n| **`progress`**         | <code>number</code>  | The upload progress, as a percentage between 0 and 1.                               | 5.3.0 |\n| **`bytesTransferred`** | <code>number</code>  | The number of bytes that have been transferred. Only available for Android and Web. | 5.3.0 |\n| **`totalBytes`**       | <code>number</code>  | The total number of bytes to be transferred. Only available for Android and Web.    | 5.3.0 |\n| **`completed`**        | <code>boolean</code> | Whether the upload is completed or not.                                             | 5.3.0 |\n\n\n#### UseEmulatorOptions\n\n| Prop       | Type                | Description                                                                                                                                                                     | Default           | Since |\n| ---------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | ----- |\n| **`host`** | <code>string</code> | The emulator host without any port or scheme. Note when using a Android Emulator device: 10.0.2.2 is the special IP address to connect to the 'localhost' of the host computer. |                   | 6.1.0 |\n| **`port`** | <code>number</code> | The emulator port.                                                                                                                                                              | <code>9199</code> | 6.1.0 |\n\n\n#### GetPluginVersionResult\n\n| Prop          | Type                | Description                          | Since |\n| ------------- | ------------------- | ------------------------------------ | ----- |\n| **`version`** | <code>string</code> | The semantic version of this plugin. | 8.0.1 |\n\n\n### Type Aliases\n\n\n#### DownloadFileCallback\n\n<code>(event: <a href=\"#downloadfilecallbackevent\">DownloadFileCallbackEvent</a> | null, error: any): void</code>\n\n\n#### CallbackId\n\n<code>string</code>\n\n\n#### UploadFileCallback\n\n<code>(event: <a href=\"#uploadfilecallbackevent\">UploadFileCallbackEvent</a> | null, error: any): void</code>\n\n</docgen-api>\n\n## Changelog\n\nSee [CHANGELOG.md](https://github.com/cap-go/capacitor-firebase/blob/main/packages/storage/CHANGELOG.md).\n\n## License\n\nSee [LICENSE](https://github.com/cap-go/capacitor-firebase/blob/main/packages/storage/LICENSE).\n\n[^1]: This project is not affiliated with, endorsed by, sponsored by, or approved by Google LLC or any of their affiliates or subsidiaries.\n","readmeFilename":"README.md"}