---
title: "Tiny Drive TypeScript interfaces"
description: "List of all available Tiny Drive API interfaces."
canonical_url: "https://www.tiny.cloud/docs/tinymce/latest/tinydrive-type-interfaces/"
md_url: "https://www.tiny.cloud/docs/tinymce/latest/tinydrive-type-interfaces/index.md"
version: "latest"
last_updated: "2022-03-30T07:08:51Z"
tokens: 206
---
# Tiny Drive TypeScript interfaces

Here is a complete API reference as TypeScript types for developers used to TypeScript syntax.

```ts
interface PluginApi {
  pick: (settings: PluginPickerApiSettings) => Promise<PickerResult>;
  browse: (settings: PluginPickerApiSettings) => Promise<void>;
  upload: (settings: PluginUploadApiSettings) => Promise<UploadResult>;
}

interface PluginPickerApiSettings {
  filetypes?: string[];
}

interface PluginUploadApiSettings {
  path?: string;
  name: string;
  blob: Blob;
  onprogress?: (details: UploadProgress) => void;
  max_image_dimension?: number;
}

interface DriveFile {
  url: string;
  size: number;
  name: string;
  type: string;
  mdate: string;
}

interface PickerResult {
  files: DriveFile[];
}

interface UploadProgress {
  loaded: number;
  total: number;
}

interface UploadResult {
  file: DriveFile;
}
```
