{
  "api": {
    "name": "CapacitorFilePlugin",
    "slug": "capacitorfileplugin",
    "docs": "Capacitor File Plugin\nImplements file system operations similar to the Cordova File plugin",
    "tags": [],
    "methods": [
      {
        "name": "requestFileSystem",
        "signature": "(options: RequestFileSystemOptions) => Promise<FileSystem>",
        "parameters": [
          {
            "name": "options",
            "docs": "- File system request options",
            "type": "RequestFileSystemOptions"
          }
        ],
        "returns": "Promise<FileSystem>",
        "tags": [
          {
            "name": "param",
            "text": "options - File system request options"
          },
          {
            "name": "returns",
            "text": "Promise with the file system"
          }
        ],
        "docs": "Request a file system.",
        "complexTypes": [
          "FileSystem",
          "RequestFileSystemOptions"
        ],
        "slug": "requestfilesystem"
      },
      {
        "name": "resolveLocalFileSystemURL",
        "signature": "(options: ResolveURLOptions) => Promise<Entry>",
        "parameters": [
          {
            "name": "options",
            "docs": "- URL to resolve",
            "type": "ResolveURLOptions"
          }
        ],
        "returns": "Promise<Entry>",
        "tags": [
          {
            "name": "param",
            "text": "options - URL to resolve"
          },
          {
            "name": "returns",
            "text": "Promise with the entry (file or directory)"
          }
        ],
        "docs": "Resolve a file URL to an entry.",
        "complexTypes": [
          "Entry",
          "ResolveURLOptions"
        ],
        "slug": "resolvelocalfilesystemurl"
      },
      {
        "name": "getFile",
        "signature": "(options: GetFileOptions) => Promise<FileEntry>",
        "parameters": [
          {
            "name": "options",
            "docs": "- File path and options",
            "type": "GetFileOptions"
          }
        ],
        "returns": "Promise<FileEntry>",
        "tags": [
          {
            "name": "param",
            "text": "options - File path and options"
          },
          {
            "name": "returns",
            "text": "Promise with the file entry"
          }
        ],
        "docs": "Get a file entry.",
        "complexTypes": [
          "FileEntry",
          "GetFileOptions"
        ],
        "slug": "getfile"
      },
      {
        "name": "getDirectory",
        "signature": "(options: GetDirectoryOptions) => Promise<DirectoryEntry>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Directory path and options",
            "type": "GetDirectoryOptions"
          }
        ],
        "returns": "Promise<DirectoryEntry>",
        "tags": [
          {
            "name": "param",
            "text": "options - Directory path and options"
          },
          {
            "name": "returns",
            "text": "Promise with the directory entry"
          }
        ],
        "docs": "Get a directory entry.",
        "complexTypes": [
          "DirectoryEntry",
          "GetDirectoryOptions"
        ],
        "slug": "getdirectory"
      },
      {
        "name": "readFile",
        "signature": "(options: ReadFileOptions) => Promise<ReadFileResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Read options",
            "type": "ReadFileOptions"
          }
        ],
        "returns": "Promise<ReadFileResult>",
        "tags": [
          {
            "name": "param",
            "text": "options - Read options"
          },
          {
            "name": "returns",
            "text": "Promise with file content"
          }
        ],
        "docs": "Read a file as text or base64.",
        "complexTypes": [
          "ReadFileResult",
          "ReadFileOptions"
        ],
        "slug": "readfile"
      },
      {
        "name": "readAsDataURL",
        "signature": "(options: ReadFileOptions) => Promise<{ data: string; }>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Read options",
            "type": "ReadFileOptions"
          }
        ],
        "returns": "Promise<{ data: string; }>",
        "tags": [
          {
            "name": "param",
            "text": "options - Read options"
          },
          {
            "name": "returns",
            "text": "Promise with data URL string"
          }
        ],
        "docs": "Read a file as a data URL (base64 with MIME type prefix).",
        "complexTypes": [
          "ReadFileOptions"
        ],
        "slug": "readasdataurl"
      },
      {
        "name": "writeFile",
        "signature": "(options: WriteFileOptions) => Promise<WriteFileResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Write options",
            "type": "WriteFileOptions"
          }
        ],
        "returns": "Promise<WriteFileResult>",
        "tags": [
          {
            "name": "param",
            "text": "options - Write options"
          },
          {
            "name": "returns",
            "text": "Promise with the result"
          }
        ],
        "docs": "Write data to a file.",
        "complexTypes": [
          "WriteFileResult",
          "WriteFileOptions"
        ],
        "slug": "writefile"
      },
      {
        "name": "appendFile",
        "signature": "(options: WriteFileOptions) => Promise<WriteFileResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Write options (append is forced to true)",
            "type": "WriteFileOptions"
          }
        ],
        "returns": "Promise<WriteFileResult>",
        "tags": [
          {
            "name": "param",
            "text": "options - Write options (append is forced to true)"
          },
          {
            "name": "returns",
            "text": "Promise with the result"
          }
        ],
        "docs": "Append data to a file.",
        "complexTypes": [
          "WriteFileResult",
          "WriteFileOptions"
        ],
        "slug": "appendfile"
      },
      {
        "name": "deleteFile",
        "signature": "(options: DeleteFileOptions) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Delete options",
            "type": "DeleteFileOptions"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "options - Delete options"
          },
          {
            "name": "returns",
            "text": "Promise that resolves when complete"
          }
        ],
        "docs": "Delete a file.",
        "complexTypes": [
          "DeleteFileOptions"
        ],
        "slug": "deletefile"
      },
      {
        "name": "mkdir",
        "signature": "(options: MkdirOptions) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Directory creation options",
            "type": "MkdirOptions"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "options - Directory creation options"
          },
          {
            "name": "returns",
            "text": "Promise that resolves when complete"
          }
        ],
        "docs": "Create a directory.",
        "complexTypes": [
          "MkdirOptions"
        ],
        "slug": "mkdir"
      },
      {
        "name": "rmdir",
        "signature": "(options: DeleteDirectoryOptions) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Delete options",
            "type": "DeleteDirectoryOptions"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "options - Delete options"
          },
          {
            "name": "returns",
            "text": "Promise that resolves when complete"
          }
        ],
        "docs": "Delete a directory.",
        "complexTypes": [
          "DeleteDirectoryOptions"
        ],
        "slug": "rmdir"
      },
      {
        "name": "readdir",
        "signature": "(options: ReaddirOptions) => Promise<ReaddirResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Read options",
            "type": "ReaddirOptions"
          }
        ],
        "returns": "Promise<ReaddirResult>",
        "tags": [
          {
            "name": "param",
            "text": "options - Read options"
          },
          {
            "name": "returns",
            "text": "Promise with directory entries"
          }
        ],
        "docs": "Read directory contents.",
        "complexTypes": [
          "ReaddirResult",
          "ReaddirOptions"
        ],
        "slug": "readdir"
      },
      {
        "name": "stat",
        "signature": "(options: StatOptions) => Promise<StatResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Stat options",
            "type": "StatOptions"
          }
        ],
        "returns": "Promise<StatResult>",
        "tags": [
          {
            "name": "param",
            "text": "options - Stat options"
          },
          {
            "name": "returns",
            "text": "Promise with metadata"
          }
        ],
        "docs": "Get metadata about a file or directory.",
        "complexTypes": [
          "StatResult",
          "StatOptions"
        ],
        "slug": "stat"
      },
      {
        "name": "getMetadata",
        "signature": "(options: StatOptions) => Promise<Metadata>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Stat options",
            "type": "StatOptions"
          }
        ],
        "returns": "Promise<Metadata>",
        "tags": [
          {
            "name": "param",
            "text": "options - Stat options"
          },
          {
            "name": "returns",
            "text": "Promise with metadata"
          }
        ],
        "docs": "Get metadata about a file or directory.\nAlias for stat().",
        "complexTypes": [
          "Metadata",
          "StatOptions"
        ],
        "slug": "getmetadata"
      },
      {
        "name": "rename",
        "signature": "(options: RenameOptions) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Rename options",
            "type": "RenameOptions"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "options - Rename options"
          },
          {
            "name": "returns",
            "text": "Promise that resolves when complete"
          }
        ],
        "docs": "Rename or move a file or directory.",
        "complexTypes": [
          "RenameOptions"
        ],
        "slug": "rename"
      },
      {
        "name": "move",
        "signature": "(options: RenameOptions) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Move options",
            "type": "RenameOptions"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "options - Move options"
          },
          {
            "name": "returns",
            "text": "Promise that resolves when complete"
          }
        ],
        "docs": "Move a file or directory.\nAlias for rename().",
        "complexTypes": [
          "RenameOptions"
        ],
        "slug": "move"
      },
      {
        "name": "copy",
        "signature": "(options: CopyOptions) => Promise<CopyResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Copy options",
            "type": "CopyOptions"
          }
        ],
        "returns": "Promise<CopyResult>",
        "tags": [
          {
            "name": "param",
            "text": "options - Copy options"
          },
          {
            "name": "returns",
            "text": "Promise with the result"
          }
        ],
        "docs": "Copy a file or directory.",
        "complexTypes": [
          "CopyResult",
          "CopyOptions"
        ],
        "slug": "copy"
      },
      {
        "name": "exists",
        "signature": "(options: ExistsOptions) => Promise<ExistsResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Check options",
            "type": "ExistsOptions"
          }
        ],
        "returns": "Promise<ExistsResult>",
        "tags": [
          {
            "name": "param",
            "text": "options - Check options"
          },
          {
            "name": "returns",
            "text": "Promise with existence result"
          }
        ],
        "docs": "Check if a file or directory exists.",
        "complexTypes": [
          "ExistsResult",
          "ExistsOptions"
        ],
        "slug": "exists"
      },
      {
        "name": "getUri",
        "signature": "(options: GetUriOptions) => Promise<GetUriResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "- URI options",
            "type": "GetUriOptions"
          }
        ],
        "returns": "Promise<GetUriResult>",
        "tags": [
          {
            "name": "param",
            "text": "options - URI options"
          },
          {
            "name": "returns",
            "text": "Promise with the URI"
          }
        ],
        "docs": "Get the URI for a file.",
        "complexTypes": [
          "GetUriResult",
          "GetUriOptions"
        ],
        "slug": "geturi"
      },
      {
        "name": "truncate",
        "signature": "(options: TruncateOptions) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Truncate options",
            "type": "TruncateOptions"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "param",
            "text": "options - Truncate options"
          },
          {
            "name": "returns",
            "text": "Promise that resolves when complete"
          }
        ],
        "docs": "Truncate a file to a specified size.",
        "complexTypes": [
          "TruncateOptions"
        ],
        "slug": "truncate"
      },
      {
        "name": "getDirectories",
        "signature": "() => Promise<FileDirectories>",
        "parameters": [],
        "returns": "Promise<FileDirectories>",
        "tags": [
          {
            "name": "returns",
            "text": "Promise with directory paths"
          }
        ],
        "docs": "Get all known file system directories.",
        "complexTypes": [
          "FileDirectories"
        ],
        "slug": "getdirectories"
      },
      {
        "name": "getFreeDiskSpace",
        "signature": "() => Promise<{ free: number; }>",
        "parameters": [],
        "returns": "Promise<{ free: number; }>",
        "tags": [
          {
            "name": "returns",
            "text": "Promise with free space in bytes"
          }
        ],
        "docs": "Get the free disk space in bytes.",
        "complexTypes": [],
        "slug": "getfreediskspace"
      },
      {
        "name": "addListener",
        "signature": "(eventName: 'readProgress', listenerFunc: (progress: ProgressEvent) => void) => Promise<PluginListenerHandle>",
        "parameters": [
          {
            "name": "eventName",
            "docs": "- Must be 'readProgress'",
            "type": "'readProgress'"
          },
          {
            "name": "listenerFunc",
            "docs": "- Callback receiving progress updates",
            "type": "(progress: ProgressEvent) => void"
          }
        ],
        "returns": "Promise<PluginListenerHandle>",
        "tags": [
          {
            "name": "param",
            "text": "eventName - Must be 'readProgress'"
          },
          {
            "name": "param",
            "text": "listenerFunc - Callback receiving progress updates"
          },
          {
            "name": "returns",
            "text": "Promise with listener handle"
          }
        ],
        "docs": "Listen for read progress events.",
        "complexTypes": [
          "PluginListenerHandle",
          "ProgressEvent"
        ],
        "slug": "addlistenerreadprogress-"
      },
      {
        "name": "addListener",
        "signature": "(eventName: 'writeProgress', listenerFunc: (progress: ProgressEvent) => void) => Promise<PluginListenerHandle>",
        "parameters": [
          {
            "name": "eventName",
            "docs": "- Must be 'writeProgress'",
            "type": "'writeProgress'"
          },
          {
            "name": "listenerFunc",
            "docs": "- Callback receiving progress updates",
            "type": "(progress: ProgressEvent) => void"
          }
        ],
        "returns": "Promise<PluginListenerHandle>",
        "tags": [
          {
            "name": "param",
            "text": "eventName - Must be 'writeProgress'"
          },
          {
            "name": "param",
            "text": "listenerFunc - Callback receiving progress updates"
          },
          {
            "name": "returns",
            "text": "Promise with listener handle"
          }
        ],
        "docs": "Listen for write progress events.",
        "complexTypes": [
          "PluginListenerHandle",
          "ProgressEvent"
        ],
        "slug": "addlistenerwriteprogress-"
      },
      {
        "name": "removeAllListeners",
        "signature": "() => Promise<void>",
        "parameters": [],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "returns",
            "text": "Promise that resolves when complete"
          }
        ],
        "docs": "Remove all event listeners.",
        "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.",
        "complexTypes": [],
        "slug": "getpluginversion"
      },
      {
        "name": "checkPermissions",
        "signature": "() => Promise<FilePermissionStatus>",
        "parameters": [],
        "returns": "Promise<FilePermissionStatus>",
        "tags": [
          {
            "name": "returns",
            "text": "Promise with permission status"
          }
        ],
        "docs": "Check the current permission status for file operations.\nOn Android, this checks for external storage permissions.\nOn iOS and web, this always returns 'granted' as no special permissions are needed.",
        "complexTypes": [
          "FilePermissionStatus"
        ],
        "slug": "checkpermissions"
      },
      {
        "name": "requestPermissions",
        "signature": "(options?: PermissionRequestOptions | undefined) => Promise<FilePermissionStatus>",
        "parameters": [
          {
            "name": "options",
            "docs": "- Optional configuration for the permission request",
            "type": "PermissionRequestOptions | undefined"
          }
        ],
        "returns": "Promise<FilePermissionStatus>",
        "tags": [
          {
            "name": "param",
            "text": "options - Optional configuration for the permission request"
          },
          {
            "name": "returns",
            "text": "Promise with permission status after the request"
          }
        ],
        "docs": "Request permissions for file operations.\nOn Android, this requests external storage permissions needed for\naccessing files outside the app's private directories.\nOn iOS and web, this always returns 'granted' as no special permissions are needed.",
        "complexTypes": [
          "FilePermissionStatus",
          "PermissionRequestOptions"
        ],
        "slug": "requestpermissions"
      }
    ],
    "properties": []
  },
  "interfaces": [
    {
      "name": "FileSystem",
      "slug": "filesystem",
      "docs": "Represents a file system",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "name",
          "tags": [],
          "docs": "The name of the file system",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "root",
          "tags": [],
          "docs": "The root directory of the file system",
          "complexTypes": [
            "DirectoryEntry"
          ],
          "type": "DirectoryEntry"
        }
      ]
    },
    {
      "name": "DirectoryEntry",
      "slug": "directoryentry",
      "docs": "Represents a directory entry",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "isFile",
          "tags": [],
          "docs": "True if this is a file",
          "complexTypes": [],
          "type": "false"
        },
        {
          "name": "isDirectory",
          "tags": [],
          "docs": "True if this is a directory",
          "complexTypes": [],
          "type": "true"
        }
      ]
    },
    {
      "name": "RequestFileSystemOptions",
      "slug": "requestfilesystemoptions",
      "docs": "Options for requesting a file system",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "The type of file system to request",
          "complexTypes": [
            "FileSystemType"
          ],
          "type": "FileSystemType"
        },
        {
          "name": "size",
          "tags": [],
          "docs": "Requested size in bytes (may not be enforced on all platforms)",
          "complexTypes": [],
          "type": "number | undefined"
        }
      ]
    },
    {
      "name": "Entry",
      "slug": "entry",
      "docs": "Represents a file or directory entry",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "isFile",
          "tags": [],
          "docs": "True if this is a file",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "isDirectory",
          "tags": [],
          "docs": "True if this is a directory",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "name",
          "tags": [],
          "docs": "The name of the file or directory",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "fullPath",
          "tags": [],
          "docs": "The full path relative to the filesystem root",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "nativeURL",
          "tags": [],
          "docs": "The native file:// URI",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "ResolveURLOptions",
      "slug": "resolveurloptions",
      "docs": "Options for resolving a URL to an entry",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "url",
          "tags": [],
          "docs": "The URL to resolve (file:// or cdvfile://)",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "FileEntry",
      "slug": "fileentry",
      "docs": "Represents a file entry",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "isFile",
          "tags": [],
          "docs": "True if this is a file",
          "complexTypes": [],
          "type": "true"
        },
        {
          "name": "isDirectory",
          "tags": [],
          "docs": "True if this is a directory",
          "complexTypes": [],
          "type": "false"
        }
      ]
    },
    {
      "name": "GetFileOptions",
      "slug": "getfileoptions",
      "docs": "Options for getting a file",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "path",
          "tags": [],
          "docs": "Path to the file",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "directory",
          "tags": [],
          "docs": "Base directory",
          "complexTypes": [
            "Directory"
          ],
          "type": "Directory"
        },
        {
          "name": "options",
          "tags": [],
          "docs": "Options for creating the file",
          "complexTypes": [
            "GetOptions"
          ],
          "type": "GetOptions"
        }
      ]
    },
    {
      "name": "GetOptions",
      "slug": "getoptions",
      "docs": "Options for creating or getting files/directories",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "create",
          "tags": [],
          "docs": "Create the file/directory if it doesn't exist",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "exclusive",
          "tags": [],
          "docs": "If true and create is true, throw error if file/directory already exists",
          "complexTypes": [],
          "type": "boolean | undefined"
        }
      ]
    },
    {
      "name": "GetDirectoryOptions",
      "slug": "getdirectoryoptions",
      "docs": "Options for getting a directory",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "path",
          "tags": [],
          "docs": "Path to the directory",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "directory",
          "tags": [],
          "docs": "Base directory",
          "complexTypes": [
            "Directory"
          ],
          "type": "Directory"
        },
        {
          "name": "options",
          "tags": [],
          "docs": "Options for creating the directory",
          "complexTypes": [
            "GetOptions"
          ],
          "type": "GetOptions"
        }
      ]
    },
    {
      "name": "ReadFileResult",
      "slug": "readfileresult",
      "docs": "Result of reading a file",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "data",
          "tags": [],
          "docs": "File contents as string (text) or base64 (binary)",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "ReadFileOptions",
      "slug": "readfileoptions",
      "docs": "Options for reading a file",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "path",
          "tags": [],
          "docs": "Path to the file",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "directory",
          "tags": [],
          "docs": "Base directory",
          "complexTypes": [
            "Directory"
          ],
          "type": "Directory"
        },
        {
          "name": "encoding",
          "tags": [],
          "docs": "Encoding for text files (omit for binary/base64)",
          "complexTypes": [
            "Encoding"
          ],
          "type": "Encoding"
        },
        {
          "name": "offset",
          "tags": [],
          "docs": "Byte offset to start reading from (default: 0)",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "length",
          "tags": [],
          "docs": "Number of bytes to read (default: read to end of file)",
          "complexTypes": [],
          "type": "number | undefined"
        }
      ]
    },
    {
      "name": "WriteFileResult",
      "slug": "writefileresult",
      "docs": "Result of writing a file",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "uri",
          "tags": [],
          "docs": "The URI of the written file",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "WriteFileOptions",
      "slug": "writefileoptions",
      "docs": "Options for writing a file",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "path",
          "tags": [],
          "docs": "Path to the file",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "directory",
          "tags": [],
          "docs": "Base directory",
          "complexTypes": [
            "Directory"
          ],
          "type": "Directory"
        },
        {
          "name": "data",
          "tags": [],
          "docs": "Data to write (string for text, base64 for binary)",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "encoding",
          "tags": [],
          "docs": "Encoding for text files",
          "complexTypes": [
            "Encoding"
          ],
          "type": "Encoding"
        },
        {
          "name": "append",
          "tags": [],
          "docs": "If true, append to existing file instead of overwriting",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "recursive",
          "tags": [],
          "docs": "Create intermediate directories if they don't exist",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "position",
          "tags": [],
          "docs": "Byte position to start writing at (for random access writes). If not specified, writes from beginning or appends based on 'append' flag",
          "complexTypes": [],
          "type": "number | undefined"
        }
      ]
    },
    {
      "name": "DeleteFileOptions",
      "slug": "deletefileoptions",
      "docs": "Options for deleting a file or directory",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "path",
          "tags": [],
          "docs": "Path to the file or directory",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "directory",
          "tags": [],
          "docs": "Base directory",
          "complexTypes": [
            "Directory"
          ],
          "type": "Directory"
        }
      ]
    },
    {
      "name": "MkdirOptions",
      "slug": "mkdiroptions",
      "docs": "Options for creating a directory",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "path",
          "tags": [],
          "docs": "Path to the directory",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "directory",
          "tags": [],
          "docs": "Base directory",
          "complexTypes": [
            "Directory"
          ],
          "type": "Directory"
        },
        {
          "name": "recursive",
          "tags": [],
          "docs": "Create intermediate directories if they don't exist",
          "complexTypes": [],
          "type": "boolean | undefined"
        }
      ]
    },
    {
      "name": "DeleteDirectoryOptions",
      "slug": "deletedirectoryoptions",
      "docs": "Options for deleting a directory recursively",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "path",
          "tags": [],
          "docs": "Path to the directory",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "directory",
          "tags": [],
          "docs": "Base directory",
          "complexTypes": [
            "Directory"
          ],
          "type": "Directory"
        },
        {
          "name": "recursive",
          "tags": [],
          "docs": "If true, delete contents recursively",
          "complexTypes": [],
          "type": "boolean | undefined"
        }
      ]
    },
    {
      "name": "ReaddirResult",
      "slug": "readdirresult",
      "docs": "Result of reading a directory",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "entries",
          "tags": [],
          "docs": "List of entries in the directory",
          "complexTypes": [
            "Entry"
          ],
          "type": "Entry[]"
        }
      ]
    },
    {
      "name": "ReaddirOptions",
      "slug": "readdiroptions",
      "docs": "Options for reading a directory",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "path",
          "tags": [],
          "docs": "Path to the directory",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "directory",
          "tags": [],
          "docs": "Base directory",
          "complexTypes": [
            "Directory"
          ],
          "type": "Directory"
        }
      ]
    },
    {
      "name": "StatResult",
      "slug": "statresult",
      "docs": "Result of getting file/directory information",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "type",
          "tags": [],
          "docs": "Type: 'file' or 'directory'",
          "complexTypes": [],
          "type": "'file' | 'directory'"
        },
        {
          "name": "size",
          "tags": [],
          "docs": "Size in bytes",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "ctime",
          "tags": [],
          "docs": "Creation time (if available)",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "mtime",
          "tags": [],
          "docs": "Last modification time",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "uri",
          "tags": [],
          "docs": "The URI",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "StatOptions",
      "slug": "statoptions",
      "docs": "Options for getting file information",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "path",
          "tags": [],
          "docs": "Path to the file or directory",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "directory",
          "tags": [],
          "docs": "Base directory",
          "complexTypes": [
            "Directory"
          ],
          "type": "Directory"
        }
      ]
    },
    {
      "name": "Metadata",
      "slug": "metadata",
      "docs": "Represents metadata about a file or directory",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "modificationTime",
          "tags": [],
          "docs": "Last modification date",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "size",
          "tags": [],
          "docs": "Size in bytes (0 for directories)",
          "complexTypes": [],
          "type": "number"
        }
      ]
    },
    {
      "name": "RenameOptions",
      "slug": "renameoptions",
      "docs": "Options for renaming/moving a file or directory",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "from",
          "tags": [],
          "docs": "Current path",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "to",
          "tags": [],
          "docs": "New path",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "directory",
          "tags": [],
          "docs": "Base directory for 'from' path",
          "complexTypes": [
            "Directory"
          ],
          "type": "Directory"
        },
        {
          "name": "toDirectory",
          "tags": [],
          "docs": "Base directory for 'to' path",
          "complexTypes": [
            "Directory"
          ],
          "type": "Directory"
        }
      ]
    },
    {
      "name": "CopyResult",
      "slug": "copyresult",
      "docs": "Result of copy operation",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "uri",
          "tags": [],
          "docs": "The URI of the copied file",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "CopyOptions",
      "slug": "copyoptions",
      "docs": "Options for copying a file or directory",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "from",
          "tags": [],
          "docs": "Source path",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "to",
          "tags": [],
          "docs": "Destination path",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "directory",
          "tags": [],
          "docs": "Base directory for source",
          "complexTypes": [
            "Directory"
          ],
          "type": "Directory"
        },
        {
          "name": "toDirectory",
          "tags": [],
          "docs": "Base directory for destination",
          "complexTypes": [
            "Directory"
          ],
          "type": "Directory"
        }
      ]
    },
    {
      "name": "ExistsResult",
      "slug": "existsresult",
      "docs": "Result of existence check",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "exists",
          "tags": [],
          "docs": "True if the file or directory exists",
          "complexTypes": [],
          "type": "boolean"
        },
        {
          "name": "type",
          "tags": [],
          "docs": "Type if exists: 'file' or 'directory'",
          "complexTypes": [],
          "type": "'file' | 'directory' | undefined"
        }
      ]
    },
    {
      "name": "ExistsOptions",
      "slug": "existsoptions",
      "docs": "Options for checking if a file or directory exists",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "path",
          "tags": [],
          "docs": "Path to check",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "directory",
          "tags": [],
          "docs": "Base directory",
          "complexTypes": [
            "Directory"
          ],
          "type": "Directory"
        }
      ]
    },
    {
      "name": "GetUriResult",
      "slug": "geturiresult",
      "docs": "Result of getting a URI",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "uri",
          "tags": [],
          "docs": "The native URI",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "GetUriOptions",
      "slug": "geturioptions",
      "docs": "Options for getting the URI of a file",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "path",
          "tags": [],
          "docs": "Path to the file",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "directory",
          "tags": [],
          "docs": "Base directory",
          "complexTypes": [
            "Directory"
          ],
          "type": "Directory"
        }
      ]
    },
    {
      "name": "TruncateOptions",
      "slug": "truncateoptions",
      "docs": "Options for truncating a file",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "path",
          "tags": [],
          "docs": "Path to the file",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "directory",
          "tags": [],
          "docs": "Base directory",
          "complexTypes": [
            "Directory"
          ],
          "type": "Directory"
        },
        {
          "name": "size",
          "tags": [],
          "docs": "Size to truncate to (default: 0)",
          "complexTypes": [],
          "type": "number | undefined"
        }
      ]
    },
    {
      "name": "FileDirectories",
      "slug": "filedirectories",
      "docs": "Known file system directories exposed by the plugin",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "applicationDirectory",
          "tags": [],
          "docs": "Application installation directory (read-only)",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "applicationStorageDirectory",
          "tags": [],
          "docs": "Application storage directory root",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "dataDirectory",
          "tags": [],
          "docs": "Persistent private data directory",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "cacheDirectory",
          "tags": [],
          "docs": "Cache directory",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "externalRootDirectory",
          "tags": [],
          "docs": "External root directory (Android)",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "externalApplicationStorageDirectory",
          "tags": [],
          "docs": "External application storage directory (Android)",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "externalDataDirectory",
          "tags": [],
          "docs": "External data directory (Android)",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "externalCacheDirectory",
          "tags": [],
          "docs": "External cache directory (Android)",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "documentsDirectory",
          "tags": [],
          "docs": "Documents directory (iOS)",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "syncedDataDirectory",
          "tags": [],
          "docs": "Synced data directory (iOS iCloud)",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "libraryDirectory",
          "tags": [],
          "docs": "Library directory (iOS)",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "tempDirectory",
          "tags": [],
          "docs": "Temporary directory",
          "complexTypes": [],
          "type": "string | undefined"
        }
      ]
    },
    {
      "name": "PluginListenerHandle",
      "slug": "pluginlistenerhandle",
      "docs": "",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "remove",
          "tags": [],
          "docs": "",
          "complexTypes": [],
          "type": "() => Promise<void>"
        }
      ]
    },
    {
      "name": "ProgressEvent",
      "slug": "progressevent",
      "docs": "Progress event for file operations",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "loaded",
          "tags": [],
          "docs": "Bytes loaded so far",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "total",
          "tags": [],
          "docs": "Total bytes (if known)",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "lengthComputable",
          "tags": [],
          "docs": "Whether total is computable",
          "complexTypes": [],
          "type": "boolean"
        }
      ]
    },
    {
      "name": "FilePermissionStatus",
      "slug": "filepermissionstatus",
      "docs": "Permission status for file operations",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "publicStorage",
          "tags": [],
          "docs": "Permission state for reading public/external storage",
          "complexTypes": [
            "PermissionState"
          ],
          "type": "PermissionState"
        }
      ]
    },
    {
      "name": "PermissionRequestOptions",
      "slug": "permissionrequestoptions",
      "docs": "Options for requesting permissions",
      "tags": [],
      "methods": [],
      "properties": [
        {
          "name": "showSettingsAlert",
          "tags": [
            {
              "text": "false",
              "name": "default"
            }
          ],
          "docs": "If true, shows an alert to open settings when permission is denied",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "title",
          "tags": [],
          "docs": "Title for the settings alert dialog",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "message",
          "tags": [],
          "docs": "Message for the settings alert dialog",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "openSettingsButtonTitle",
          "tags": [],
          "docs": "Text for the \"Open Settings\" button",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "cancelButtonTitle",
          "tags": [],
          "docs": "Text for the \"Cancel\" button",
          "complexTypes": [],
          "type": "string | undefined"
        }
      ]
    }
  ],
  "enums": [
    {
      "name": "FileSystemType",
      "slug": "filesystemtype",
      "members": [
        {
          "name": "TEMPORARY",
          "value": "0",
          "tags": [],
          "docs": ""
        },
        {
          "name": "PERSISTENT",
          "value": "1",
          "tags": [],
          "docs": ""
        }
      ]
    },
    {
      "name": "Directory",
      "slug": "directory",
      "members": [
        {
          "name": "Documents",
          "value": "'DOCUMENTS'",
          "tags": [],
          "docs": "The Documents directory (iOS) / files directory (Android)\nPersistent, user-visible, backed up"
        },
        {
          "name": "Data",
          "value": "'DATA'",
          "tags": [],
          "docs": "The Data directory\nPersistent private data storage"
        },
        {
          "name": "Library",
          "value": "'LIBRARY'",
          "tags": [],
          "docs": "The Library directory (iOS) / files directory (Android)\nPersistent but not visible to user"
        },
        {
          "name": "Cache",
          "value": "'CACHE'",
          "tags": [],
          "docs": "The Cache directory\nTemporary cache, may be cleared by OS"
        },
        {
          "name": "External",
          "value": "'EXTERNAL'",
          "tags": [],
          "docs": "External storage (Android only)\nSD card or external storage root"
        },
        {
          "name": "ExternalStorage",
          "value": "'EXTERNAL_STORAGE'",
          "tags": [],
          "docs": "External storage data directory (Android only)"
        },
        {
          "name": "Application",
          "value": "'APPLICATION'",
          "tags": [],
          "docs": "Application bundle/assets directory (read-only)"
        }
      ]
    },
    {
      "name": "Encoding",
      "slug": "encoding",
      "members": [
        {
          "name": "UTF8",
          "value": "'utf8'",
          "tags": [],
          "docs": ""
        },
        {
          "name": "ASCII",
          "value": "'ascii'",
          "tags": [],
          "docs": ""
        },
        {
          "name": "UTF16",
          "value": "'utf16'",
          "tags": [],
          "docs": ""
        }
      ]
    }
  ],
  "typeAliases": [
    {
      "name": "PermissionState",
      "slug": "permissionstate",
      "docs": "",
      "types": [
        {
          "text": "'prompt'",
          "complexTypes": []
        },
        {
          "text": "'prompt-with-rationale'",
          "complexTypes": []
        },
        {
          "text": "'granted'",
          "complexTypes": []
        },
        {
          "text": "'denied'",
          "complexTypes": []
        }
      ]
    }
  ],
  "pluginConfigs": []
}