# Documentation - [CloudKVStorage](/docs/api/classes/CloudKVStorage): Stores small string values in iCloud or an emulated Google Drive key-value store. - [CloudStorage](/docs/api/classes/CloudStorage): File storage for iCloud and Google Drive. - [CloudStorageError](/docs/api/classes/CloudStorageError): undefined - [CloudKVChangeReason](/docs/api/enumerations/CloudKVChangeReason): Describes why a cloud key-value store changed externally. - [CloudKVSupportLevel](/docs/api/enumerations/CloudKVSupportLevel): Describes how a provider implements cloud key-value storage on the current platform. - [CloudStorageErrorCode](/docs/api/enumerations/CloudStorageErrorCode): undefined - [CloudStorageProvider](/docs/api/enumerations/CloudStorageProvider): undefined - [CloudStorageScope](/docs/api/enumerations/CloudStorageScope): undefined - [useCloudFile](/docs/api/functions/useCloudFile): A utility hook for reading and writing to a single file in the cloud. - [useCloudKV](/docs/api/functions/useCloudKV): Reads and writes one cloud key-value entry and refreshes it after relevant external changes. - [useIsCloudAvailable](/docs/api/functions/useIsCloudAvailable): A hook that tests whether or not the cloud storage is available. - [API Reference](/docs/api): Auto-generated API reference for react-native-cloud-storage. - [CloudKVExternalChangeEvent](/docs/api/interfaces/CloudKVExternalChangeEvent): Describes an external cloud key-value store change. - [CloudKVSerializer](/docs/api/interfaces/CloudKVSerializer): Converts a typed value to and from the string format used by CloudKVStorage. - [CloudStorageFileStat](/docs/api/interfaces/CloudStorageFileStat): undefined - [CloudStorageProviderOptions](/docs/api/interfaces/CloudStorageProviderOptions): undefined - [UseCloudKVOptions](/docs/api/interfaces/UseCloudKVOptions): Configures a useCloudKV hook. - [UseCloudKVResult](/docs/api/interfaces/UseCloudKVResult): The state and operations returned by useCloudKV. - [CloudStorageProviderOptionsValue](/docs/api/type-aliases/CloudStorageProviderOptionsValue): Options for a single cloud storage provider: the iCloud options when the iCloud provider is used, or the Google Drive options when the Google Drive provider is used. - [ICloudDocumentsMode](/docs/api/type-aliases/ICloudDocumentsMode): Controls which on-device directory `CloudStorageScope.Documents` maps to on iCloud. - [Example Project](/docs/example): Run the example app to see every feature of react-native-cloud-storage in action. - [Handling multiple files with the same name in Google Drive](/docs/guides/google-drive-files-same-name): Understand and optionally opt into strict filename handling when Google Drive contains multiple files with the same name. - [Key-value storage](/docs/guides/key-value-storage): Store small preferences and app state in iCloud or Google Drive. - [Migrating iCloud Documents from legacy sandbox storage](/docs/guides/migrating-icloud-documents): Move existing files from the legacy app-sandbox Documents directory to the user-facing iCloud Drive Documents folder. - [Quick Start](/docs/guides/quick-start): Install react-native-cloud-storage and read and write your first cloud file in a few minutes. - [Using multiple Cloud Storage Providers](/docs/guides/using-multiple-providers): Override the default provider or create per-provider CloudStorage instances to back up to iCloud and Google Drive at the same time. - [Introduction](/docs): iCloud and Google Drive for React Native. - [Configure Google Drive API](/docs/installation/configure-google-drive): Acquire and provide a Google Drive access token so react-native-cloud-storage can read and write files on Google Drive. - [Install in Expo Managed project](/docs/installation/expo): Add react-native-cloud-storage to an Expo managed project using the included config plugin. - [Install in bare React Native project](/docs/installation/react-native): Install react-native-cloud-storage in a bare React Native project and configure the native iCloud capability.