@lingxia/types 0.4.3 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -58,4 +58,37 @@ export interface EventEmitter {
58
58
  emit(event: string, ...args: unknown[]): void;
59
59
  once(event: string, handler: (...args: unknown[]) => void): void;
60
60
  }
61
+ /**
62
+ * Injected by the runtime into methods listed in `stream_handlers` page metadata.
63
+ *
64
+ * Use this when your async source uses callbacks rather than an async iterator.
65
+ * For the generator form (`async *method()`), no handle is needed — the runtime
66
+ * pumps the generator automatically.
67
+ */
68
+ export interface StreamHandle<T = unknown> {
69
+ /** Send a chunk to View. */
70
+ send(payload: T): void;
71
+ /** End the stream with an optional final value. */
72
+ end(result?: unknown): void;
73
+ /** End the stream with an error. */
74
+ error(code: string, message?: string): void;
75
+ }
76
+ /**
77
+ * Injected by the runtime as the second parameter when View opens a channel.
78
+ *
79
+ * Use `ch.send()` to push data to View, `ch.on()` to receive data/close
80
+ * events from View, and `ch.close()` to shut down the channel.
81
+ */
82
+ export interface ChannelHandle<TSend = unknown, TReceive = unknown> {
83
+ /** Push a message to View. */
84
+ send(payload: TSend): void;
85
+ /** Close the channel from Logic side. */
86
+ close(code?: string, reason?: string): void;
87
+ /** Register a listener for incoming events. */
88
+ on(event: 'data', handler: (payload: TReceive) => void): void;
89
+ on(event: 'close', handler: (info: {
90
+ code: string;
91
+ reason: string;
92
+ }) => void): void;
93
+ }
61
94
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/app/index.ts"],"names":[],"mappings":"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"}
package/dist/error.js CHANGED
@@ -1,12 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatLxApiError = exports.requireLxApiError = exports.parseLxApiError = exports.infoForLxErrorCode = exports.isKnownLxErrorCode = exports.extractLxErrorCode = exports.isLxApiError = void 0;
3
+ exports.isLxApiError = isLxApiError;
4
+ exports.extractLxErrorCode = extractLxErrorCode;
5
+ exports.isKnownLxErrorCode = isKnownLxErrorCode;
6
+ exports.infoForLxErrorCode = infoForLxErrorCode;
7
+ exports.parseLxApiError = parseLxApiError;
8
+ exports.requireLxApiError = requireLxApiError;
9
+ exports.formatLxApiError = formatLxApiError;
4
10
  const error_1 = require("./generated/error");
5
11
  const ERR_CODE_INDEX = error_1.ERR_CODE_INFO_BY_CODE;
6
12
  function isLxApiError(error) {
7
13
  return parseLxApiError(error) !== null;
8
14
  }
9
- exports.isLxApiError = isLxApiError;
10
15
  function readMessage(error) {
11
16
  if (typeof error === "string")
12
17
  return error;
@@ -46,17 +51,14 @@ function extractLxErrorCode(error) {
46
51
  return null;
47
52
  return parseIntegerCode(data.bizCode) ?? parseIntegerCode(data.code);
48
53
  }
49
- exports.extractLxErrorCode = extractLxErrorCode;
50
54
  function isKnownLxErrorCode(code) {
51
55
  return Number.isInteger(code) && Object.prototype.hasOwnProperty.call(ERR_CODE_INDEX, code);
52
56
  }
53
- exports.isKnownLxErrorCode = isKnownLxErrorCode;
54
57
  function infoForLxErrorCode(code) {
55
58
  if (!isKnownLxErrorCode(code))
56
59
  return null;
57
60
  return ERR_CODE_INDEX[code];
58
61
  }
59
- exports.infoForLxErrorCode = infoForLxErrorCode;
60
62
  function parseLxApiError(error) {
61
63
  const code = extractLxErrorCode(error);
62
64
  if (code === null)
@@ -70,16 +72,13 @@ function parseLxApiError(error) {
70
72
  raw: error,
71
73
  };
72
74
  }
73
- exports.parseLxApiError = parseLxApiError;
74
75
  function requireLxApiError(error) {
75
76
  const parsed = parseLxApiError(error);
76
77
  if (parsed)
77
78
  return parsed;
78
79
  throw new Error(`Unknown LingXia API error: ${readMessage(error)}`);
79
80
  }
80
- exports.requireLxApiError = requireLxApiError;
81
81
  function formatLxApiError(error) {
82
82
  return `[${error.code}] ${error.message}`;
83
83
  }
84
- exports.formatLxApiError = formatLxApiError;
85
84
  //# sourceMappingURL=error.js.map
package/dist/error.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,18 @@
2
2
  * File system APIs.
3
3
  * Corresponds to: lingxia-logic/src/fs.rs
4
4
  */
5
- export interface OpenDocumentOptions {
5
+ export interface OpenFileOptions {
6
+ /** Local file path or runtime-managed temp path. */
6
7
  filePath: string;
8
+ /** Optional coarse file type hint such as `pdf`, `docx`, or `xlsx`. */
7
9
  fileType?: string;
10
+ /**
11
+ * `auto`: prefer native review, then fall back to external open.
12
+ * `review`: require native review UI and reject when unsupported.
13
+ * `external`: hand off directly to the system / external app.
14
+ */
15
+ mode?: 'auto' | 'review' | 'external';
16
+ /** Hint for whether the native review UI should expose its action menu when supported. */
8
17
  showMenu?: boolean;
9
18
  }
10
19
  /** Desktop only. Currently supported on macOS. Windows is planned. */
@@ -49,12 +58,6 @@ export interface ChooseDirectoryResult {
49
58
  export interface DownloadOptions {
50
59
  /** HTTP(S) source URL. */
51
60
  url: string;
52
- /**
53
- * Optional external cancellation channel.
54
- * When aborted, it has the same effect as calling `task.cancel()`.
55
- * Useful for timeout/router/lifecycle composition.
56
- */
57
- signal?: AbortSignal;
58
61
  }
59
62
  export interface DownloadResult {
60
63
  /** Downloaded file URI under user cache, e.g. lx://usercache/... */
@@ -66,37 +69,4 @@ export interface DownloadResult {
66
69
  /** File size in bytes. */
67
70
  size: number;
68
71
  }
69
- export interface DownloadProgressEvent {
70
- kind: 'progress';
71
- downloadedBytes: number;
72
- totalBytes?: number;
73
- /**
74
- * 0~1 progress value.
75
- * - precise ratio when totalBytes is known
76
- * - monotonic estimated progress when totalBytes is unknown
77
- */
78
- progress: number;
79
- }
80
- export interface DownloadSuccessEvent {
81
- kind: 'success';
82
- result: DownloadResult;
83
- }
84
- export interface DownloadPausedEvent {
85
- kind: 'paused';
86
- }
87
- export interface DownloadResumedEvent {
88
- kind: 'resumed';
89
- }
90
- export interface DownloadCanceledEvent {
91
- kind: 'canceled';
92
- }
93
- export type DownloadEvent = DownloadProgressEvent | DownloadSuccessEvent | DownloadPausedEvent | DownloadResumedEvent | DownloadCanceledEvent;
94
- export interface DownloadTask extends AsyncIterable<DownloadEvent> {
95
- /** Pause current download and keep resume metadata. */
96
- pause(): Promise<void>;
97
- /** Resume a paused download from persisted resume metadata. */
98
- resume(): Promise<void>;
99
- /** Cancel and remove downloaded temp artifacts. */
100
- cancel(): Promise<void>;
101
- }
102
72
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/file/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,sEAAsE;AACtE,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oEAAoE;IACpE,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAC/B,+DAA+D;IAC/D,QAAQ,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,sEAAsE;AACtE,MAAM,WAAW,sBAAsB;IACrC,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,sEAAsE;AACtE,MAAM,WAAW,qBAAqB;IACpC,+DAA+D;IAC/D,QAAQ,EAAE,OAAO,CAAC;IAClB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,MAAM,aAAa,GACrB,qBAAqB,GACrB,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,GACpB,qBAAqB,CAAC;AAE1B,MAAM,WAAW,YAAa,SAAQ,aAAa,CAAC,aAAa,CAAC;IAChE,uDAAuD;IACvD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,+DAA+D;IAC/D,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,mDAAmD;IACnD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/file/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;IACtC,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,sEAAsE;AACtE,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oEAAoE;IACpE,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAC/B,+DAA+D;IAC/D,QAAQ,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,sEAAsE;AACtE,MAAM,WAAW,sBAAsB;IACrC,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,sEAAsE;AACtE,MAAM,WAAW,qBAAqB;IACpC,+DAA+D;IAC/D,QAAQ,EAAE,OAAO,CAAC;IAClB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd"}
package/dist/index.d.ts CHANGED
@@ -22,7 +22,7 @@ import type { AppConfig, AppInstance, LxAppInfo, PageConfig, PageInstance } from
22
22
  import type { DeviceInfo, ScreenInfo, MakePhoneCallOptions, WifiInfo, ConnectWifiOptions, WifiConnectedCallback, NetworkInfo, NetworkChangeCallback } from './device';
23
23
  import type { KeyEventCallback } from './input';
24
24
  import type { LxEnv, Storage } from './storage';
25
- import type { OpenDocumentOptions, ChooseDirectoryOptions, ChooseDirectoryResult, ChooseFileOptions, ChooseFileResult, DownloadTask, DownloadOptions } from './file';
25
+ import type { OpenFileOptions, ChooseDirectoryOptions, ChooseDirectoryResult, ChooseFileOptions, ChooseFileResult, DownloadOptions, DownloadResult } from './file';
26
26
  import type { DeviceOrientation, DeviceOrientationChangeEvent } from './display';
27
27
  import type { GetLocationOptions, LocationInfo } from './location';
28
28
  import type { AppBaseInfo, SystemSettingInfo, OpenURLOptions } from './system';
@@ -50,8 +50,13 @@ export interface Lx {
50
50
  setDeviceOrientation(orientation: DeviceOrientation): boolean;
51
51
  onDeviceOrientationChange(callback: (event: DeviceOrientationChangeEvent) => void): void;
52
52
  offDeviceOrientationChange(callback?: (event: DeviceOrientationChangeEvent) => void): void;
53
- openDocument(options: OpenDocumentOptions): void;
54
- downloadFile(options: DownloadOptions): DownloadTask;
53
+ /**
54
+ * Open a local file with the requested strategy.
55
+ * Use `mode: 'review'` when the UX requires in-app preview,
56
+ * otherwise prefer `mode: 'auto'`.
57
+ */
58
+ openFile(options: OpenFileOptions): void;
59
+ downloadFile(options: DownloadOptions): Promise<DownloadResult>;
55
60
  getStorage(): Storage;
56
61
  getLocation(options?: GetLocationOptions): Promise<LocationInfo>;
57
62
  navigateToLxApp(options: NavigateToLxAppOptions): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lingxia/types",
3
- "version": "0.4.3",
3
+ "version": "0.5.0",
4
4
  "description": "TypeScript type definitions for the LingXia JS API",
5
5
  "repository": {
6
6
  "type": "git",
package/src/app/index.ts CHANGED
@@ -75,3 +75,35 @@ export interface EventEmitter {
75
75
  emit(event: string, ...args: unknown[]): void;
76
76
  once(event: string, handler: (...args: unknown[]) => void): void;
77
77
  }
78
+
79
+ /**
80
+ * Injected by the runtime into methods listed in `stream_handlers` page metadata.
81
+ *
82
+ * Use this when your async source uses callbacks rather than an async iterator.
83
+ * For the generator form (`async *method()`), no handle is needed — the runtime
84
+ * pumps the generator automatically.
85
+ */
86
+ export interface StreamHandle<T = unknown> {
87
+ /** Send a chunk to View. */
88
+ send(payload: T): void;
89
+ /** End the stream with an optional final value. */
90
+ end(result?: unknown): void;
91
+ /** End the stream with an error. */
92
+ error(code: string, message?: string): void;
93
+ }
94
+
95
+ /**
96
+ * Injected by the runtime as the second parameter when View opens a channel.
97
+ *
98
+ * Use `ch.send()` to push data to View, `ch.on()` to receive data/close
99
+ * events from View, and `ch.close()` to shut down the channel.
100
+ */
101
+ export interface ChannelHandle<TSend = unknown, TReceive = unknown> {
102
+ /** Push a message to View. */
103
+ send(payload: TSend): void;
104
+ /** Close the channel from Logic side. */
105
+ close(code?: string, reason?: string): void;
106
+ /** Register a listener for incoming events. */
107
+ on(event: 'data', handler: (payload: TReceive) => void): void;
108
+ on(event: 'close', handler: (info: { code: string; reason: string }) => void): void;
109
+ }
package/src/file/index.ts CHANGED
@@ -3,9 +3,18 @@
3
3
  * Corresponds to: lingxia-logic/src/fs.rs
4
4
  */
5
5
 
6
- export interface OpenDocumentOptions {
6
+ export interface OpenFileOptions {
7
+ /** Local file path or runtime-managed temp path. */
7
8
  filePath: string;
9
+ /** Optional coarse file type hint such as `pdf`, `docx`, or `xlsx`. */
8
10
  fileType?: string;
11
+ /**
12
+ * `auto`: prefer native review, then fall back to external open.
13
+ * `review`: require native review UI and reject when unsupported.
14
+ * `external`: hand off directly to the system / external app.
15
+ */
16
+ mode?: 'auto' | 'review' | 'external';
17
+ /** Hint for whether the native review UI should expose its action menu when supported. */
9
18
  showMenu?: boolean;
10
19
  }
11
20
 
@@ -56,12 +65,6 @@ export interface ChooseDirectoryResult {
56
65
  export interface DownloadOptions {
57
66
  /** HTTP(S) source URL. */
58
67
  url: string;
59
- /**
60
- * Optional external cancellation channel.
61
- * When aborted, it has the same effect as calling `task.cancel()`.
62
- * Useful for timeout/router/lifecycle composition.
63
- */
64
- signal?: AbortSignal;
65
68
  }
66
69
 
67
70
  export interface DownloadResult {
@@ -74,48 +77,3 @@ export interface DownloadResult {
74
77
  /** File size in bytes. */
75
78
  size: number;
76
79
  }
77
-
78
- export interface DownloadProgressEvent {
79
- kind: 'progress';
80
- downloadedBytes: number;
81
- totalBytes?: number;
82
- /**
83
- * 0~1 progress value.
84
- * - precise ratio when totalBytes is known
85
- * - monotonic estimated progress when totalBytes is unknown
86
- */
87
- progress: number;
88
- }
89
-
90
- export interface DownloadSuccessEvent {
91
- kind: 'success';
92
- result: DownloadResult;
93
- }
94
-
95
- export interface DownloadPausedEvent {
96
- kind: 'paused';
97
- }
98
-
99
- export interface DownloadResumedEvent {
100
- kind: 'resumed';
101
- }
102
-
103
- export interface DownloadCanceledEvent {
104
- kind: 'canceled';
105
- }
106
-
107
- export type DownloadEvent =
108
- | DownloadProgressEvent
109
- | DownloadSuccessEvent
110
- | DownloadPausedEvent
111
- | DownloadResumedEvent
112
- | DownloadCanceledEvent;
113
-
114
- export interface DownloadTask extends AsyncIterable<DownloadEvent> {
115
- /** Pause current download and keep resume metadata. */
116
- pause(): Promise<void>;
117
- /** Resume a paused download from persisted resume metadata. */
118
- resume(): Promise<void>;
119
- /** Cancel and remove downloaded temp artifacts. */
120
- cancel(): Promise<void>;
121
- }
package/src/index.ts CHANGED
@@ -47,13 +47,13 @@ import type {
47
47
  } from './storage';
48
48
 
49
49
  import type {
50
- OpenDocumentOptions,
50
+ OpenFileOptions,
51
51
  ChooseDirectoryOptions,
52
52
  ChooseDirectoryResult,
53
53
  ChooseFileOptions,
54
54
  ChooseFileResult,
55
- DownloadTask,
56
55
  DownloadOptions,
56
+ DownloadResult,
57
57
  } from './file';
58
58
 
59
59
  import type {
@@ -145,8 +145,13 @@ export interface Lx {
145
145
  onDeviceOrientationChange(callback: (event: DeviceOrientationChangeEvent) => void): void;
146
146
  offDeviceOrientationChange(callback?: (event: DeviceOrientationChangeEvent) => void): void;
147
147
 
148
- openDocument(options: OpenDocumentOptions): void;
149
- downloadFile(options: DownloadOptions): DownloadTask;
148
+ /**
149
+ * Open a local file with the requested strategy.
150
+ * Use `mode: 'review'` when the UX requires in-app preview,
151
+ * otherwise prefer `mode: 'auto'`.
152
+ */
153
+ openFile(options: OpenFileOptions): void;
154
+ downloadFile(options: DownloadOptions): Promise<DownloadResult>;
150
155
 
151
156
  getStorage(): Storage;
152
157