| // Copyright 2021 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| /** @fileoverview Definitions for chrome.fileSystem API. */ |
| |
| // Declare minimal definitions for deprecated parts of the File API, which are |
| // not appearing in TypeScript compiler's default definiions, and are used by |
| // the chrome.fileSystem API. |
| interface FileSystemFileEntry { |
| createWriter(callback: (writer: FileWriter) => void): void; |
| } |
| |
| interface FileWriter { |
| write(data: Blob): void; |
| } |
| |
| declare namespace chrome { |
| export namespace fileSystem { |
| interface AcceptsOption { |
| description?: string; |
| mimeTypes?: string[]; |
| extensions?: string[]; |
| } |
| |
| type ChooseEntryType = |
| 'openFile'|'openWritableFile'|'saveFile'|'openDirectory'; |
| |
| interface ChooseEntryOptions { |
| type?: ChooseEntryType; |
| suggestedName?: string; |
| accepts?: AcceptsOption[]; |
| acceptsAllTypes?: boolean; |
| acceptsMultiple?: boolean; |
| } |
| |
| type ChoosEntryCallback = (entry?: FileSystemFileEntry) => void; |
| |
| export function chooseEntry( |
| optionsOrCallback: ChooseEntryOptions, |
| callback?: ChoosEntryCallback): void; |
| } |
| } |