{
  "api": {
    "name": "VoiceRecorderPlugin",
    "slug": "voicerecorderplugin",
    "docs": "",
    "tags": [],
    "methods": [
      {
        "name": "canDeviceVoiceRecord",
        "signature": "() => Promise<GenericResponse>",
        "parameters": [],
        "returns": "Promise<GenericResponse>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "GenericResponse"
        ],
        "slug": "candevicevoicerecord"
      },
      {
        "name": "requestAudioRecordingPermission",
        "signature": "() => Promise<GenericResponse>",
        "parameters": [],
        "returns": "Promise<GenericResponse>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "GenericResponse"
        ],
        "slug": "requestaudiorecordingpermission"
      },
      {
        "name": "hasAudioRecordingPermission",
        "signature": "() => Promise<GenericResponse>",
        "parameters": [],
        "returns": "Promise<GenericResponse>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "GenericResponse"
        ],
        "slug": "hasaudiorecordingpermission"
      },
      {
        "name": "startRecording",
        "signature": "(options?: { directory: Directory; subDirectory?: string | undefined; } | undefined) => Promise<GenericResponse>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "{ directory: Directory; subDirectory?: string | undefined; } | undefined"
          }
        ],
        "returns": "Promise<GenericResponse>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "GenericResponse",
          "RecordingOptions"
        ],
        "slug": "startrecording"
      },
      {
        "name": "stopRecording",
        "signature": "() => Promise<RecordingData>",
        "parameters": [],
        "returns": "Promise<RecordingData>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "RecordingData"
        ],
        "slug": "stoprecording"
      },
      {
        "name": "pauseRecording",
        "signature": "() => Promise<GenericResponse>",
        "parameters": [],
        "returns": "Promise<GenericResponse>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "GenericResponse"
        ],
        "slug": "pauserecording"
      },
      {
        "name": "resumeRecording",
        "signature": "() => Promise<GenericResponse>",
        "parameters": [],
        "returns": "Promise<GenericResponse>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "GenericResponse"
        ],
        "slug": "resumerecording"
      },
      {
        "name": "getCurrentStatus",
        "signature": "() => Promise<CurrentRecordingStatus>",
        "parameters": [],
        "returns": "Promise<CurrentRecordingStatus>",
        "tags": [],
        "docs": "",
        "complexTypes": [
          "CurrentRecordingStatus"
        ],
        "slug": "getcurrentstatus"
      }
    ],
    "properties": []
  },
  "interfaces": [
    {
      "name": "GenericResponse",
      "slug": "genericresponse",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "RecordingData",
      "slug": "recordingdata",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "value",
          "tags": [],
          "docs": "",
          "complexTypes": [
            "Base64String"
          ],
          "type": "{ recordDataBase64?: string | undefined; msDuration: number; mimeType: string; path?: string | undefined; }"
        }
      ]
    },
    {
      "name": "CurrentRecordingStatus",
      "slug": "currentrecordingstatus",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "status",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "'RECORDING' | 'PAUSED' | 'NONE'"
        }
      ]
    }
  ],
  "enums": [
    {
      "name": "Directory",
      "slug": "directory",
      "members": [
        {
          "name": "Documents",
          "value": "\"DOCUMENTS\"",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "The Documents directory.\nOn iOS it's the app's documents directory.\nUse this directory to store user-generated content.\nOn Android it's the Public Documents folder, so it's accessible from other apps.\nIt's not accesible on Android 10 unless the app enables legacy External Storage\nby adding `android:requestLegacyExternalStorage=\"true\"` in the `application` tag\nin the `AndroidManifest.xml`.\nOn Android 11 or newer the app can only access the files/folders the app created."
        },
        {
          "name": "Data",
          "value": "\"DATA\"",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "The Data directory.\nOn iOS it will use the Documents directory.\nOn Android it's the directory holding application files.\nFiles will be deleted when the application is uninstalled."
        },
        {
          "name": "Library",
          "value": "\"LIBRARY\"",
          "tags": [
            {
              "text": "1.1.0",
              "name": "since"
            }
          ],
          "docs": "The Library directory.\nOn iOS it will use the Library directory.\nOn Android it's the directory holding application files.\nFiles will be deleted when the application is uninstalled."
        },
        {
          "name": "Cache",
          "value": "\"CACHE\"",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "The Cache directory.\nCan be deleted in cases of low memory, so use this directory to write app-specific files.\nthat your app can re-create easily."
        },
        {
          "name": "External",
          "value": "\"EXTERNAL\"",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "The external directory.\nOn iOS it will use the Documents directory.\nOn Android it's the directory on the primary shared/external\nstorage device where the application can place persistent files it owns.\nThese files are internal to the applications, and not typically visible\nto the user as media.\nFiles will be deleted when the application is uninstalled."
        },
        {
          "name": "ExternalStorage",
          "value": "\"EXTERNAL_STORAGE\"",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "The external storage directory.\nOn iOS it will use the Documents directory.\nOn Android it's the primary shared/external storage directory.\nIt's not accesible on Android 10 unless the app enables legacy External Storage\nby adding `android:requestLegacyExternalStorage=\"true\"` in the `application` tag\nin the `AndroidManifest.xml`.\nIt's not accesible on Android 11 or newer."
        }
      ]
    }
  ],
  "typeAliases": [
    {
      "name": "RecordingOptions",
      "slug": "recordingoptions",
      "docs": "",
      "types": [
        {
          "text": "never",
          "complexTypes": []
        },
        {
          "text": "{\n      directory: Directory;\n      subDirectory?: string;\n    }",
          "complexTypes": [
            "Directory"
          ]
        }
      ]
    },
    {
      "name": "Base64String",
      "slug": "base64string",
      "docs": "",
      "types": [
        {
          "text": "string",
          "complexTypes": []
        }
      ]
    }
  ],
  "pluginConfigs": []
}