fcr-core 3.7.8 → 3.8.0-alpha

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.
Files changed (108) hide show
  1. package/lib/chat-connection/index.d.ts +1 -1
  2. package/lib/engine/index.js +6 -5
  3. package/lib/imports.d.ts +7 -2
  4. package/lib/imports.js +25 -4
  5. package/lib/index.d.ts +2 -2
  6. package/lib/index.js +12 -0
  7. package/lib/media-control/desktop.js +4 -4
  8. package/lib/media-control/mobile.js +20 -20
  9. package/lib/media-control/type.d.ts +8 -0
  10. package/lib/plugins/chatroom.js +19 -3
  11. package/lib/room-control/ability-control/type.d.ts +4 -1
  12. package/lib/room-control/ability-control/type.js +3 -0
  13. package/lib/room-control/helpers/constants.d.ts +4 -0
  14. package/lib/room-control/helpers/constants.js +5 -1
  15. package/lib/room-control/index.js +16 -5
  16. package/lib/room-control/interpreter-control/index.js +2 -4
  17. package/lib/room-control/mainroom-control/index.js +66 -1
  18. package/lib/room-control/privilege-control/index.js +43 -3
  19. package/lib/room-control/privilege-control/type.d.ts +57 -10
  20. package/lib/room-control/privilege-control/type.js +17 -0
  21. package/lib/room-control/room-control-factory.js +1 -1
  22. package/lib/room-control/room-session/index.js +23 -13
  23. package/lib/room-control/room-session/type.d.ts +2 -2
  24. package/lib/room-control/sharing-control/index.d.ts +5 -5
  25. package/lib/room-control/sharing-control/index.js +43 -13
  26. package/lib/room-control/sharing-control/type.d.ts +9 -5
  27. package/lib/room-control/sharing-control/type.js +6 -1
  28. package/lib/room-control/stream-control/index.d.ts +8 -1
  29. package/lib/room-control/stream-control/index.js +139 -36
  30. package/lib/room-control/stream-control/type.d.ts +6 -0
  31. package/lib/room-control/stt-control/de-compress-gzip.d.ts +1 -0
  32. package/lib/room-control/stt-control/de-compress-gzip.js +49 -0
  33. package/lib/room-control/stt-control/index.d.ts +1 -0
  34. package/lib/room-control/stt-control/index.js +353 -0
  35. package/lib/room-control/stt-control/type.d.ts +142 -0
  36. package/lib/room-control/stt-control/type.js +16 -0
  37. package/lib/room-control/type.d.ts +15 -0
  38. package/lib/room-control/type.js +13 -1
  39. package/lib/room-control/whiteboard-control/enum.d.ts +15 -0
  40. package/lib/room-control/whiteboard-control/{types.js → enum.js} +12 -1
  41. package/lib/room-control/whiteboard-control/type.d.ts +38 -0
  42. package/lib/room-control/whiteboard-control/type.js +15 -0
  43. package/lib/room-control/whiteboard-control/utils.d.ts +3 -0
  44. package/lib/room-control/whiteboard-control/utils.js +23 -0
  45. package/lib/room-control/whiteboard-control-v1/board-subwindow.d.ts +6 -0
  46. package/lib/room-control/whiteboard-control-v1/board-subwindow.js +26 -0
  47. package/lib/room-control/whiteboard-control-v1/board-window.d.ts +58 -0
  48. package/lib/room-control/whiteboard-control-v1/board-window.js +571 -0
  49. package/lib/room-control/{whiteboard-control/enums.d.ts → whiteboard-control-v1/enum.d.ts} +3 -17
  50. package/lib/room-control/{whiteboard-control/enums.js → whiteboard-control-v1/enum.js} +3 -20
  51. package/lib/room-control/whiteboard-control-v1/factory.d.ts +9 -0
  52. package/lib/room-control/whiteboard-control-v1/factory.js +22 -0
  53. package/lib/room-control/whiteboard-control-v1/index.d.ts +1 -0
  54. package/lib/room-control/whiteboard-control-v1/index.js +440 -0
  55. package/lib/room-control/whiteboard-control-v1/mount-manager.d.ts +4 -0
  56. package/lib/room-control/whiteboard-control-v1/mount-manager.js +15 -0
  57. package/lib/room-control/whiteboard-control-v1/type.d.ts +300 -0
  58. package/lib/room-control/whiteboard-control-v1/type.js +13 -0
  59. package/lib/room-control/whiteboard-control-v1/utils.d.ts +53 -0
  60. package/lib/room-control/whiteboard-control-v1/utils.js +290 -0
  61. package/lib/room-control/whiteboard-control-v2/annotation-control/control.d.ts +17 -31
  62. package/lib/room-control/whiteboard-control-v2/annotation-control/control.js +39 -233
  63. package/lib/room-control/whiteboard-control-v2/annotation-control/factory.d.ts +10 -0
  64. package/lib/room-control/whiteboard-control-v2/annotation-control/factory.js +48 -0
  65. package/lib/room-control/whiteboard-control-v2/annotation-control/type.d.ts +11 -19
  66. package/lib/room-control/whiteboard-control-v2/annotation-control/type.js +1 -3
  67. package/lib/room-control/whiteboard-control-v2/base/index.d.ts +42 -0
  68. package/lib/room-control/whiteboard-control-v2/base/index.js +317 -0
  69. package/lib/room-control/whiteboard-control-v2/{main-window.d.ts → base/main-window.d.ts} +6 -4
  70. package/lib/room-control/whiteboard-control-v2/{main-window.js → base/main-window.js} +31 -18
  71. package/lib/room-control/whiteboard-control-v2/constant.d.ts +6 -0
  72. package/lib/room-control/whiteboard-control-v2/constant.js +15 -0
  73. package/lib/room-control/whiteboard-control-v2/enum.d.ts +26 -0
  74. package/lib/room-control/whiteboard-control-v2/enum.js +34 -0
  75. package/lib/room-control/{whiteboard-control/types.d.ts → whiteboard-control-v2/type.d.ts} +51 -165
  76. package/lib/room-control/whiteboard-control-v2/type.js +5 -0
  77. package/lib/room-control/whiteboard-control-v2/utils.d.ts +5 -4
  78. package/lib/room-control/whiteboard-control-v2/utils.js +22 -21
  79. package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.d.ts +34 -33
  80. package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.js +124 -191
  81. package/lib/room-control/whiteboard-control-v2/whiteboard-control/factory.d.ts +11 -0
  82. package/lib/room-control/whiteboard-control-v2/{annotation-control/index.js → whiteboard-control/factory.js} +35 -44
  83. package/lib/room-control/whiteboard-control-v2/whiteboard-control/type.d.ts +18 -30
  84. package/lib/room-control/whiteboard-control-v2/whiteboard-control/type.js +1 -9
  85. package/lib/room-router/index.js +4 -0
  86. package/lib/schema.d.ts +23 -9
  87. package/lib/schema.js +10 -4
  88. package/lib/service/api.d.ts +75 -19
  89. package/lib/service/api.js +193 -24
  90. package/lib/type.d.ts +15 -2
  91. package/lib/type.js +13 -0
  92. package/lib/utilities/error-helpers.d.ts +2 -1
  93. package/lib/utilities/error-helpers.js +1 -0
  94. package/lib/utilities/error.d.ts +1 -0
  95. package/lib/utilities/error.js +1 -0
  96. package/lib/utilities/logger.d.ts +2 -2
  97. package/lib/utilities/shared-storage.d.ts +3 -1
  98. package/lib/utilities/shared-storage.js +9 -1
  99. package/package.json +11 -5
  100. package/lib/room-control/whiteboard-control-v2/annotation-control/index.d.ts +0 -19
  101. package/lib/room-control/whiteboard-control-v2/annotation-control/privilege-control.d.ts +0 -36
  102. package/lib/room-control/whiteboard-control-v2/annotation-control/privilege-control.js +0 -262
  103. package/lib/room-control/whiteboard-control-v2/index.d.ts +0 -38
  104. package/lib/room-control/whiteboard-control-v2/index.js +0 -286
  105. package/lib/room-control/whiteboard-control-v2/whiteboard-control/index.d.ts +0 -17
  106. package/lib/room-control/whiteboard-control-v2/whiteboard-control/index.js +0 -32
  107. package/lib/room-control/whiteboard-control-v2/whiteboard-control/privilege-control.d.ts +0 -36
  108. package/lib/room-control/whiteboard-control-v2/whiteboard-control/privilege-control.js +0 -252
@@ -1,114 +1,12 @@
1
- import { FcrConnectionState } from '../..';
2
- import { FcrBoardShape, FcrBoardToolType } from './enums';
3
- import { AgoraRteRenderView, FcrImageData, FcrJoinRoomOptions, FcrWhiteboardView } from '../../imports';
4
- import { ColorSchema } from '../../schema';
5
- import { FcrSize } from '../stream-control/type';
6
- import { FcrBoardPropertiesState } from '../whiteboard-control-v2/whiteboard-control/type';
7
- export type FcrBaseWhiteboardObserver = {
8
- /**
9
- * Callback to receive the connection state change.
10
- * @param state
11
- */
12
- onConnectionStateUpdated?(state: FcrConnectionState): void;
13
- };
14
- export type FcrBoardMainWindowObserver = {
15
- /**
16
- * Callback to receive the page info change.
17
- * @param info
18
- */
19
- onPageInfoUpdated?(info: FcrBoardPageInfo): void;
20
- /**
21
- * Callback to receive the undo state change.
22
- * @param enable
23
- */
24
- onUndoStateUpdated?(enable: boolean): void;
25
- /**
26
- * Callback to receive the redo state change.
27
- * @param enable
28
- */
29
- onRedoStateUpdated?(enable: boolean): void;
30
- };
31
- export type FcrBoardRoomJoinConfig = {
32
- roomId: string;
33
- roomToken?: string;
34
- boardRatio: number;
35
- hasOperationPrivilege: boolean;
36
- userId: string;
37
- userName: string;
38
- };
39
- export type FcrColor = ColorSchema;
40
- export type FcrBoardState = {
41
- strokeColor: FcrColor;
42
- strokeWidth: number;
43
- textSize: number;
44
- tool: FcrBoardToolType;
45
- shape: FcrBoardShape;
46
- };
47
- export type FetchImageResult = {
48
- width: number;
49
- height: number;
50
- file: unknown;
51
- uuid: string;
52
- url: string;
53
- };
54
- export type BaseImageSize = {
55
- width: number;
56
- height: number;
57
- };
58
- export type FcrBoardPageInfo = {
59
- showIndex: number;
60
- count: number;
61
- };
62
- export type FcrBoardPage = {
63
- name: string;
64
- contentUrl: string;
65
- previewUrl: string;
66
- contentWidth: number;
67
- contentHeight: number;
68
- };
69
- export type FcrBoardH5WindowConfig = {
70
- resourceUuid: string;
71
- resourceUrl: string;
72
- title: string;
73
- };
74
- export type FcrBoardMediaWindowConfig = {
75
- resourceUuid: string;
76
- resourceUrl: string;
77
- title: string;
78
- mimeType: string;
79
- };
80
- export type FcrBoardMaterialWindowConfig<T = unknown> = {
81
- resourceUuid: string;
82
- urlPrefix: string;
83
- title: string;
84
- pageList: T[];
85
- taskUuid: string;
86
- resourceHasAnimation: boolean;
87
- };
88
- export type MountOptions = {
89
- collectorContainer?: AgoraRteRenderView;
90
- containerSizeRatio?: number;
91
- };
92
- export type SlideOptions = {
93
- minFPS?: number;
94
- maxFPS?: number;
95
- resolution?: number;
96
- autoResolution?: boolean;
97
- autoFPS?: boolean;
98
- maxResolutionLevel?: number;
99
- forceCanvas?: boolean;
100
- };
101
- export type FcrBoardWindowOptions = SlideOptions & {
102
- debug: boolean;
103
- };
104
- export type FcrBoardRoomOptions = SlideOptions & {
105
- debug: boolean;
106
- };
107
- export interface FcrBaseWhiteboardControl {
1
+ import { FcrImageData, FcrWhiteboardView } from '../../imports';
2
+ import { FcrConnectionState, FcrSize } from '../../type';
3
+ import { FcrBoardToolType } from './enum';
4
+ import type { FcrBoardPageInfo, FcrColor } from '../whiteboard-control/type';
5
+ export interface FcrBaseWhiteboardControl<T extends FcrBaseWhiteboardObserver> {
108
6
  /**
109
7
  * Opens the whiteboard and creates a main window.
110
8
  */
111
- open(): Promise<FcrBoardMainWindow>;
9
+ open(parameters?: Record<string, unknown>): Promise<FcrBoardMainWindow>;
112
10
  /**
113
11
  * Closes the whiteboard and releases the main window.
114
12
  */
@@ -120,17 +18,22 @@ export interface FcrBaseWhiteboardControl {
120
18
  /**
121
19
  * Gets the main window of the whiteboard.
122
20
  */
123
- getMainWindow(): FcrBoardMainWindow | undefined;
21
+ getMainWindow(): FcrBoardMainWindow | null;
22
+ /**
23
+ * Sets whether the current user has operation privilege.
24
+ * @param hasOperationPrivilege
25
+ */
26
+ setOperationPrivilege(hasOperationPrivilege: boolean): void;
124
27
  /**
125
28
  * Adds an observer to the whiteboard.
126
29
  * @param observer
127
30
  */
128
- addObserver(observer: FcrBaseWhiteboardObserver): void;
31
+ addObserver(observer: T): void;
129
32
  /**
130
33
  * Removes the observer from the whiteboard.
131
34
  * @param observer
132
35
  */
133
- removeObserver(observer: FcrBaseWhiteboardObserver): void;
36
+ removeObserver(observer: T): void;
134
37
  }
135
38
  export interface FcrBoardMainWindow {
136
39
  /**
@@ -240,6 +143,10 @@ export interface FcrBoardMainWindow {
240
143
  * @param enable
241
144
  */
242
145
  setAutoCancelDraw(enable: boolean): void;
146
+ /**
147
+ * Checks if the current user has write permission.
148
+ */
149
+ getWritable(): boolean;
243
150
  /**
244
151
  * Adds an observer to the main window.
245
152
  * @param observer
@@ -251,62 +158,41 @@ export interface FcrBoardMainWindow {
251
158
  */
252
159
  removeObserver(observer: FcrBoardMainWindowObserver): void;
253
160
  }
254
- export type FcrBoardExtra = {
161
+ export interface FcrBaseWhiteboardObserver {
162
+ /**
163
+ * Callback to receive the connection state change.
164
+ * @param state
165
+ */
166
+ onConnectionStateUpdated?(state: FcrConnectionState): void;
167
+ }
168
+ export interface FcrBoardMainWindowObserver {
169
+ /**
170
+ * Callback to receive the page info change.
171
+ * @param info
172
+ */
173
+ onPageInfoUpdated?(info: FcrBoardPageInfo): void;
174
+ /**
175
+ * Callback to receive the undo state change.
176
+ * @param enable
177
+ */
178
+ onUndoStateUpdated?(enable: boolean): void;
179
+ /**
180
+ * Callback to receive the redo state change.
181
+ * @param enable
182
+ */
183
+ onRedoStateUpdated?(enable: boolean): void;
184
+ /**
185
+ * Callback to receive the writable state change.
186
+ * @param isWritable
187
+ */
188
+ onWritable?(isWritable: boolean): void;
189
+ }
190
+ export type FcrObjectForgeInitConfig = {
255
191
  boardAppId: string;
256
192
  boardId: string;
257
- boardRegion: FcrJoinRoomOptions['sdkConfig']['region'];
193
+ boardRegion: string;
258
194
  boardToken: string;
259
195
  };
260
- export type FcrBoardInfo = {
261
- state: FcrBoardPropertiesState;
262
- isActive: boolean;
263
- ownerUserUuid: string;
264
- extra: FcrBoardExtra & {
265
- backgroundColor: string;
266
- };
267
- };
268
- export type FcrBoardDocPage = {
269
- name: string;
270
- contentUrl: string;
271
- previewUrl: string;
272
- contentWidth: number;
273
- contentHeight: number;
274
- };
275
- export type FcrBoardSubWindowConfig = {
276
- resourceUuid: string;
277
- resourceHasAnimation: boolean;
278
- title: string;
279
- pageList: number[];
280
- };
281
- export type FcrBoardMediaSubWindowConfig = {
282
- resourceUrl: string;
283
- title: string;
196
+ export type FcrBoardInfoExtra = {
197
+ backgroundColor: string;
284
198
  };
285
- export type FcrWhiteboardScreenShareData = {
286
- videoState: number;
287
- videoSourceState: number;
288
- videoSourceType: number;
289
- audioState: number;
290
- audioSourceState: number;
291
- audioSourceType: number;
292
- };
293
- export type FcrBoradRoomConfig = {
294
- boardRatio: number;
295
- userId: string;
296
- userName: string;
297
- roomId: string;
298
- };
299
- export type FcrBoardActiveInfo = {
300
- isActive: true;
301
- ownerUserId: string;
302
- reason?: FcrBoardInactiveReason;
303
- } | {
304
- isActive: false;
305
- ownerUserId: null;
306
- reason?: FcrBoardInactiveReason;
307
- };
308
- export declare enum FcrBoardInactiveReason {
309
- CLOSE = 1,
310
- TIMEOUT = 2,
311
- SEIZE = 3
312
- }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -1,7 +1,6 @@
1
- import { WhiteboardToolType } from '@netless/forge-whiteboard';
2
- import { FcrBoardToolType } from '../whiteboard-control/enums';
3
- import type { Logger } from 'agora-foundation/lib/logger';
4
- export declare function convertToForgeBoardTool(type: FcrBoardToolType): WhiteboardToolType;
1
+ import { FcrBoardToolType } from './enum';
2
+ import { Logger, FcrWhiteboardToolType } from '../../imports';
3
+ export declare function convertToForgeBoardTool(type: FcrBoardToolType): FcrWhiteboardToolType;
5
4
  export declare const getAnnotationConfigFromRoomProperties: (properties: Record<string, unknown>, logger: Logger) => {
6
5
  size: {
7
6
  width: number;
@@ -18,3 +17,5 @@ export declare const resizeToMax: (w: number, h: number, scaleBase?: number) =>
18
17
  width: number;
19
18
  height: number;
20
19
  };
20
+ export declare const WHITEBOARD_WIDTH = 1920;
21
+ export declare const WHITEBOARD_HEIGHT = 1080;
@@ -1,53 +1,52 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
6
+ exports.WHITEBOARD_WIDTH = exports.WHITEBOARD_HEIGHT = void 0;
7
7
  exports.convertToForgeBoardTool = convertToForgeBoardTool;
8
8
  exports.resizeToMax = exports.getAnnotationConfigFromRoomProperties = void 0;
9
- var _enums = require("../whiteboard-control/enums");
10
- var _get = _interopRequireDefault(require("lodash/get"));
9
+ var _enum = require("./enum");
11
10
  var _imports = require("../../imports");
12
11
  function convertToForgeBoardTool(type) {
13
12
  switch (type) {
14
- case _enums.FcrBoardToolType.ARROW:
13
+ case _enum.FcrBoardToolType.ARROW:
15
14
  return 'arrow';
16
- case _enums.FcrBoardToolType.CURVE:
15
+ case _enum.FcrBoardToolType.CURVE:
17
16
  return 'curve';
18
- case _enums.FcrBoardToolType.ELLIPSE:
17
+ case _enum.FcrBoardToolType.ELLIPSE:
19
18
  return 'ellipse';
20
- case _enums.FcrBoardToolType.ERASER:
19
+ case _enum.FcrBoardToolType.ERASER:
21
20
  return 'eraser';
22
- case _enums.FcrBoardToolType.LASER_POINTER:
21
+ case _enum.FcrBoardToolType.LASER_POINTER:
23
22
  return 'laser';
24
- case _enums.FcrBoardToolType.TEXT:
23
+ case _enum.FcrBoardToolType.TEXT:
25
24
  return 'text';
26
- case _enums.FcrBoardToolType.RECTANGLE:
25
+ case _enum.FcrBoardToolType.RECTANGLE:
27
26
  return 'rectangle';
28
- case _enums.FcrBoardToolType.TRIANGLE:
27
+ case _enum.FcrBoardToolType.TRIANGLE:
29
28
  return 'triangle';
30
- case _enums.FcrBoardToolType.SELECTOR:
29
+ case _enum.FcrBoardToolType.SELECTOR:
31
30
  return 'selector';
32
- case _enums.FcrBoardToolType.STRAIGHT:
31
+ case _enum.FcrBoardToolType.STRAIGHT:
33
32
  return 'line';
34
33
  // case FcrBoardToolType.PENTAGRAM:
35
34
  // return 'pentagram';
36
35
  // case FcrBoardToolType.RHOMBUS:
37
36
  // return 'rhombus';
38
- case _enums.FcrBoardToolType.HAND:
37
+ case _enum.FcrBoardToolType.HAND:
39
38
  return 'grab';
40
39
  default:
41
40
  return 'curve';
42
41
  }
43
42
  }
44
43
  const getAnnotationConfigFromRoomProperties = (properties, logger) => {
45
- const boardAppId = (0, _get.default)(properties, 'widgets.annotation.extra.boardAppId');
46
- const boardId = (0, _get.default)(properties, 'widgets.annotation.extra.boardId');
47
- const boardToken = (0, _get.default)(properties, 'widgets.annotation.extra.boardToken');
48
- const boardRegion = (0, _get.default)(properties, 'widgets.annotation.extra.boardRegion');
49
- let width = (0, _get.default)(properties, 'widgets.annotation.size.width');
50
- let height = (0, _get.default)(properties, 'widgets.annotation.size.height');
44
+ const boardAppId = (0, _imports.get)(properties, 'widgets.annotation.extra.boardAppId');
45
+ const boardId = (0, _imports.get)(properties, 'widgets.annotation.extra.boardId');
46
+ const boardToken = (0, _imports.get)(properties, 'widgets.annotation.extra.boardToken');
47
+ const boardRegion = (0, _imports.get)(properties, 'widgets.annotation.extra.boardRegion');
48
+ let width = (0, _imports.get)(properties, 'widgets.annotation.size.width');
49
+ let height = (0, _imports.get)(properties, 'widgets.annotation.size.height');
51
50
  if (typeof width !== 'number') {
52
51
  logger.warn("got invalid width for annotation board, width: ".concat(width));
53
52
  width = 0;
@@ -99,4 +98,6 @@ const resizeToMax = function (w, h) {
99
98
  };
100
99
  };
101
100
  exports.resizeToMax = resizeToMax;
102
- const FCR_ANNOTATION_SCALE_BASE = 1920;
101
+ const FCR_ANNOTATION_SCALE_BASE = 1920;
102
+ const WHITEBOARD_WIDTH = exports.WHITEBOARD_WIDTH = 1920;
103
+ const WHITEBOARD_HEIGHT = exports.WHITEBOARD_HEIGHT = 1080;
@@ -1,34 +1,35 @@
1
- import { AgoraRteConnectionState } from 'agora-rte-sdk';
2
- import { FcrBaseWhiteboardControl, FcrBoardExtra, FcrBoardMainWindow } from '../../whiteboard-control/types';
3
- import { AgoraObservable } from 'agora-rte-sdk/lib/imports';
4
- import { FcrBoardConfig, FcrWhiteboardObserver } from './type';
5
- import { FcrConnectionState } from '../../..';
6
- import { Room } from '@netless/forge-room';
7
- import { Whiteboard, WhiteboardPermissionFlag } from '@netless/forge-whiteboard';
8
- import { AgoraRtmClient } from 'agora-rte-sdk/lib/core/rtm/client';
9
- export declare class FcrWhiteboardControlImpl implements FcrBaseWhiteboardControl {
10
- private _rtmClient;
11
- private _config;
12
- protected logger: import("agora-rte-sdk/lib/imports").Logger;
13
- protected whiteboard: Whiteboard | undefined;
14
- protected boardRoom: Room | undefined;
15
- protected observable: AgoraObservable<FcrWhiteboardObserver>;
16
- private _boardView;
17
- private _connectState;
18
- private _boardConfig;
19
- private _openAbortController;
20
- constructor(_rtmClient: AgoraRtmClient, _config: FcrBoardConfig);
21
- openWithConfig(config: FcrBoardExtra): Promise<FcrBoardMainWindow>;
22
- open(): Promise<FcrBoardMainWindow>;
23
- close(): Promise<void>;
24
- getConnectionState(): AgoraRteConnectionState;
25
- getMainWindow(): FcrBoardMainWindow | undefined;
26
- addObserver(observer: FcrWhiteboardObserver): void;
27
- removeObserver(observer: FcrWhiteboardObserver): void;
28
- release(): void;
29
- addPermission(permission: WhiteboardPermissionFlag): void;
30
- removePermission(permission: WhiteboardPermissionFlag): void;
31
- protected updateConnnectionState(state: FcrConnectionState): void;
32
- private _addLogObserver;
33
- protected _connect(): Promise<FcrBoardMainWindow>;
1
+ import { FcrObjectForgeInitConfig } from '../type';
2
+ import { AgoraRteScene } from '../../../imports';
3
+ import type { RTMClient } from 'agora-rtm';
4
+ import { FcrCoreServiceApi } from '../../../service/api';
5
+ import { FcrSharedCache } from '../../shared-cache';
6
+ import { FcrBoardConfig, FcrStandaloneWhiteboardControl, FcrWhiteboardControl, FcrWhiteboardObserver } from './type';
7
+ import { FcrBaseWhiteboardControlImpl } from '../base';
8
+ import { FcrBoardActiveInfo } from '../../whiteboard-control/type';
9
+ import { WhiteboardOption } from '@netless/forge-whiteboard';
10
+ export declare class FcrWhiteboardControlImpl extends FcrBaseWhiteboardControlImpl<FcrWhiteboardObserver> implements FcrWhiteboardControl {
11
+ private _scene;
12
+ private _api;
13
+ protected logger: import("agora-foundation/lib/logger/type").Logger;
14
+ private _roomCache;
15
+ private _backgroundColor;
16
+ private _isActive;
17
+ private _ownerId;
18
+ private _notifyObservers;
19
+ constructor(rtmClient: RTMClient, config: FcrBoardConfig, hasOperationPrivilege: boolean, sharedCache: FcrSharedCache, forgeInitConfigFetcher: () => Promise<FcrObjectForgeInitConfig>, _scene: AgoraRteScene, _api: FcrCoreServiceApi);
20
+ active(): Promise<void>;
21
+ inactive(): Promise<void>;
22
+ getBoardActiveInfo(): FcrBoardActiveInfo;
23
+ setBackgroundColor(backgroundColor: string): Promise<void>;
24
+ getBackgroundColor(): string;
25
+ getActivity(): boolean;
26
+ getOwnerId(): string | null;
27
+ protected getApplicationId(): string;
28
+ private _onScenePropertiesUpdated;
29
+ protected getWhiteboardOption(): WhiteboardOption;
30
+ protected addLogObserver(): void;
31
+ }
32
+ export declare class FcrStandaloneWhiteboardControlImpl extends FcrBaseWhiteboardControlImpl<FcrWhiteboardObserver> implements FcrStandaloneWhiteboardControl {
33
+ protected getApplicationId(): string;
34
+ protected getWhiteboardOption(): WhiteboardOption;
34
35
  }