1/*
2 * Copyright (c) 2021-2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16/**
17 * @file
18 * @kit ArkUI
19 */
20
21/**
22 * Seek mode.
23 *
24 * @enum { number }
25 * @syscap SystemCapability.ArkUI.ArkUI.Full
26 * @since 8
27 */
28/**
29 * Seek mode.
30 *
31 * @enum { number }
32 * @syscap SystemCapability.ArkUI.ArkUI.Full
33 * @crossplatform
34 * @since 10
35 */
36/**
37 * Seek mode.
38 *
39 * @enum { number }
40 * @syscap SystemCapability.ArkUI.ArkUI.Full
41 * @crossplatform
42 * @atomicservice
43 * @since 11
44 */
45declare enum SeekMode {
46  /**
47   * Sync to keyframes before the time point.
48   *
49   * @syscap SystemCapability.ArkUI.ArkUI.Full
50   * @since 8
51   */
52  /**
53   * Sync to keyframes before the time point.
54   *
55   * @syscap SystemCapability.ArkUI.ArkUI.Full
56   * @crossplatform
57   * @since 10
58   */
59  /**
60   * Sync to keyframes before the time point.
61   *
62   * @syscap SystemCapability.ArkUI.ArkUI.Full
63   * @crossplatform
64   * @atomicservice
65   * @since 11
66   */
67  PreviousKeyframe,
68
69  /**
70   * Sync to keyframes after the time point.
71   *
72   * @syscap SystemCapability.ArkUI.ArkUI.Full
73   * @since 8
74   */
75  /**
76   * Sync to keyframes after the time point.
77   *
78   * @syscap SystemCapability.ArkUI.ArkUI.Full
79   * @crossplatform
80   * @since 10
81   */
82  /**
83   * Sync to keyframes after the time point.
84   *
85   * @syscap SystemCapability.ArkUI.ArkUI.Full
86   * @crossplatform
87   * @atomicservice
88   * @since 11
89   */
90  NextKeyframe,
91
92  /**
93   * Sync to closest keyframes.
94   *
95   * @syscap SystemCapability.ArkUI.ArkUI.Full
96   * @since 8
97   */
98  /**
99   * Sync to closest keyframes.
100   *
101   * @syscap SystemCapability.ArkUI.ArkUI.Full
102   * @crossplatform
103   * @since 10
104   */
105  /**
106   * Sync to closest keyframes.
107   *
108   * @syscap SystemCapability.ArkUI.ArkUI.Full
109   * @crossplatform
110   * @atomicservice
111   * @since 11
112   */
113  ClosestKeyframe,
114
115  /**
116   * Seek to frames closest the time point.
117   *
118   * @syscap SystemCapability.ArkUI.ArkUI.Full
119   * @since 8
120   */
121  /**
122   * Seek to frames closest the time point.
123   *
124   * @syscap SystemCapability.ArkUI.ArkUI.Full
125   * @crossplatform
126   * @since 10
127   */
128  /**
129   * Seek to frames closest the time point.
130   *
131   * @syscap SystemCapability.ArkUI.ArkUI.Full
132   * @crossplatform
133   * @atomicservice
134   * @since 11
135   */
136  Accurate,
137}
138
139/**
140 * playback speed.
141 *
142 * @enum { number }
143 * @syscap SystemCapability.ArkUI.ArkUI.Full
144 * @since 8
145 */
146/**
147 * playback speed.
148 *
149 * @enum { number }
150 * @syscap SystemCapability.ArkUI.ArkUI.Full
151 * @crossplatform
152 * @since 10
153 */
154/**
155 * playback speed.
156 *
157 * @enum { number }
158 * @syscap SystemCapability.ArkUI.ArkUI.Full
159 * @crossplatform
160 * @atomicservice
161 * @since 11
162 */
163declare enum PlaybackSpeed {
164  /**
165   * 0.75x speed playback.
166   *
167   * @syscap SystemCapability.ArkUI.ArkUI.Full
168   * @since 8
169   */
170  /**
171   * 0.75x speed playback.
172   *
173   * @syscap SystemCapability.ArkUI.ArkUI.Full
174   * @crossplatform
175   * @since 10
176   */
177  /**
178   * 0.75x speed playback.
179   *
180   * @syscap SystemCapability.ArkUI.ArkUI.Full
181   * @crossplatform
182   * @atomicservice
183   * @since 11
184   */
185  Speed_Forward_0_75_X,
186
187  /**
188   * 1.00x speed playback.
189   *
190   * @syscap SystemCapability.ArkUI.ArkUI.Full
191   * @since 8
192   */
193  /**
194   * 1.00x speed playback.
195   *
196   * @syscap SystemCapability.ArkUI.ArkUI.Full
197   * @crossplatform
198   * @since 10
199   */
200  /**
201   * 1.00x speed playback.
202   *
203   * @syscap SystemCapability.ArkUI.ArkUI.Full
204   * @crossplatform
205   * @atomicservice
206   * @since 11
207   */
208  Speed_Forward_1_00_X,
209
210  /**
211   * 1.25x speed playback.
212   *
213   * @syscap SystemCapability.ArkUI.ArkUI.Full
214   * @since 8
215   */
216  /**
217   * 1.25x speed playback.
218   *
219   * @syscap SystemCapability.ArkUI.ArkUI.Full
220   * @crossplatform
221   * @since 10
222   */
223  /**
224   * 1.25x speed playback.
225   *
226   * @syscap SystemCapability.ArkUI.ArkUI.Full
227   * @crossplatform
228   * @atomicservice
229   * @since 11
230   */
231  Speed_Forward_1_25_X,
232
233  /**
234   * 1.75x speed playback.
235   *
236   * @syscap SystemCapability.ArkUI.ArkUI.Full
237   * @since 8
238   */
239  /**
240   * 1.75x speed playback.
241   *
242   * @syscap SystemCapability.ArkUI.ArkUI.Full
243   * @crossplatform
244   * @since 10
245   */
246  /**
247   * 1.75x speed playback.
248   *
249   * @syscap SystemCapability.ArkUI.ArkUI.Full
250   * @crossplatform
251   * @atomicservice
252   * @since 11
253   */
254  Speed_Forward_1_75_X,
255
256  /**
257   * 2.00x speed playback.
258   *
259   * @syscap SystemCapability.ArkUI.ArkUI.Full
260   * @since 8
261   */
262  /**
263   * 2.00x speed playback.
264   *
265   * @syscap SystemCapability.ArkUI.ArkUI.Full
266   * @crossplatform
267   * @since 10
268   */
269  /**
270   * 2.00x speed playback.
271   *
272   * @syscap SystemCapability.ArkUI.ArkUI.Full
273   * @crossplatform
274   * @atomicservice
275   * @since 11
276   */
277  Speed_Forward_2_00_X,
278}
279
280/**
281 * Fullscreen information of the video.
282 *
283 * @typedef FullscreenInfo
284 * @syscap SystemCapability.ArkUI.ArkUI.Full
285 * @crossplatform
286 * @atomicservice
287 * @since 14
288 */
289interface FullscreenInfo {
290  /**
291   * The flag whether play in full screen.
292   *
293   * @syscap SystemCapability.ArkUI.ArkUI.Full
294   * @crossplatform
295   * @since 10
296   */
297  /**
298   * The flag whether play in full screen.
299   *
300   * @type { boolean }
301   * @syscap SystemCapability.ArkUI.ArkUI.Full
302   * @crossplatform
303   * @atomicservice
304   * @since 11
305   */
306  fullscreen: boolean;
307}
308
309/**
310 * Prepared information of the video.
311 *
312 * @typedef PreparedInfo
313 * @syscap SystemCapability.ArkUI.ArkUI.Full
314 * @crossplatform
315 * @atomicservice
316 * @since 14
317 */
318interface PreparedInfo {
319  /**
320   * The duration of the current video, in seconds.
321   *
322   * @syscap SystemCapability.ArkUI.ArkUI.Full
323   * @crossplatform
324   * @since 10
325   */
326  /**
327   * The duration of the current video, in seconds.
328   *
329   * @type { number }
330   * @syscap SystemCapability.ArkUI.ArkUI.Full
331   * @crossplatform
332   * @atomicservice
333   * @since 11
334   */
335  duration: number;
336}
337
338/**
339 * Playback information of the video.
340 *
341 * @typedef PlaybackInfo
342 * @syscap SystemCapability.ArkUI.ArkUI.Full
343 * @crossplatform
344 * @atomicservice
345 * @since 14
346 */
347interface PlaybackInfo {
348  /**
349   * The current video playback progress, expressed in seconds.
350   *
351   * @syscap SystemCapability.ArkUI.ArkUI.Full
352   * @crossplatform
353   * @since 10
354   */
355  /**
356   * The current video playback progress, expressed in seconds.
357   *
358   * @type { number }
359   * @syscap SystemCapability.ArkUI.ArkUI.Full
360   * @crossplatform
361   * @atomicservice
362   * @since 11
363   */
364  time: number;
365}
366
367/**
368 * Defines the video options.
369 *
370 * @interface VideoOptions
371 * @syscap SystemCapability.ArkUI.ArkUI.Full
372 * @since 7
373 */
374/**
375 * Defines the video options.
376 *
377 * @interface VideoOptions
378 * @syscap SystemCapability.ArkUI.ArkUI.Full
379 * @crossplatform
380 * @since 10
381 */
382/**
383 * Defines the video options.
384 *
385 * @interface VideoOptions
386 * @syscap SystemCapability.ArkUI.ArkUI.Full
387 * @crossplatform
388 * @atomicservice
389 * @since 11
390 */
391/**
392 * Defines the video options.
393 *
394 * @interface VideoOptions
395 * @syscap SystemCapability.ArkUI.ArkUI.Full
396 * @crossplatform
397 * @atomicservice
398 * @since 12
399 */
400declare interface VideoOptions {
401  /**
402   * src of video.
403   *
404   * @type { ?(string | Resource) }
405   * @syscap SystemCapability.ArkUI.ArkUI.Full
406   * @since 7
407   */
408  /**
409   * src of video.
410   *
411   * @type { ?(string | Resource) }
412   * @syscap SystemCapability.ArkUI.ArkUI.Full
413   * @crossplatform
414   * @since 10
415   */
416  /**
417   * src of video.
418   *
419   * @type { ?(string | Resource) }
420   * @syscap SystemCapability.ArkUI.ArkUI.Full
421   * @crossplatform
422   * @atomicservice
423   * @since 11
424   */
425  src?: string | Resource;
426
427  /**
428   * playback rate of video.
429   *
430   * @type { ?(number | string | PlaybackSpeed) }
431   * @syscap SystemCapability.ArkUI.ArkUI.Full
432   * @since 7
433   */
434  /**
435   * playback rate of video.
436   *
437   * @type { ?(number | string | PlaybackSpeed) }
438   * @syscap SystemCapability.ArkUI.ArkUI.Full
439   * @crossplatform
440   * @since 10
441   */
442  /**
443   * playback rate of video.
444   *
445   * @type { ?(number | string | PlaybackSpeed) }
446   * @syscap SystemCapability.ArkUI.ArkUI.Full
447   * @crossplatform
448   * @atomicservice
449   * @since 11
450   */
451  currentProgressRate?: number | string | PlaybackSpeed;
452
453  /**
454   * preview uri of video.
455   *
456   * @type { ?(string | PixelMap | Resource) }
457   * @syscap SystemCapability.ArkUI.ArkUI.Full
458   * @since 7
459   */
460  /**
461   * preview uri of video.
462   *
463   * @type { ?(string | PixelMap | Resource) }
464   * @syscap SystemCapability.ArkUI.ArkUI.Full
465   * @crossplatform
466   * @since 10
467   */
468  /**
469   * preview uri of video.
470   *
471   * @type { ?(string | PixelMap | Resource) }
472   * @syscap SystemCapability.ArkUI.ArkUI.Full
473   * @crossplatform
474   * @atomicservice
475   * @since 11
476   */
477  previewUri?: string | PixelMap | Resource;
478
479  /**
480   * controller of video.
481   *
482   * @type { ?VideoController }
483   * @syscap SystemCapability.ArkUI.ArkUI.Full
484   * @since 7
485   */
486  /**
487   * controller of video.
488   *
489   * @type { ?VideoController }
490   * @syscap SystemCapability.ArkUI.ArkUI.Full
491   * @crossplatform
492   * @since 10
493   */
494  /**
495   * controller of video.
496   *
497   * @type { ?VideoController }
498   * @syscap SystemCapability.ArkUI.ArkUI.Full
499   * @crossplatform
500   * @atomicservice
501   * @since 11
502   */
503  controller?: VideoController;
504
505  /**
506   * image ai options of video.
507   *
508   * @type { ?ImageAIOptions }
509   * @syscap SystemCapability.ArkUI.ArkUI.Full
510   * @atomicservice
511   * @since 12
512   */
513  imageAIOptions?: ImageAIOptions;
514}
515
516/**
517 * Defines the video controller.
518 *
519 * @syscap SystemCapability.ArkUI.ArkUI.Full
520 * @since 7
521 */
522/**
523 * Defines the video controller.
524 *
525 * @syscap SystemCapability.ArkUI.ArkUI.Full
526 * @crossplatform
527 * @since 10
528 */
529/**
530 * Defines the video controller.
531 *
532 * @syscap SystemCapability.ArkUI.ArkUI.Full
533 * @crossplatform
534 * @atomicservice
535 * @since 11
536 */
537declare class VideoController {
538  /**
539   * constructor.
540   *
541   * @syscap SystemCapability.ArkUI.ArkUI.Full
542   * @since 7
543   */
544  /**
545   * constructor.
546   *
547   * @syscap SystemCapability.ArkUI.ArkUI.Full
548   * @crossplatform
549   * @since 10
550   */
551  /**
552   * constructor.
553   *
554   * @syscap SystemCapability.ArkUI.ArkUI.Full
555   * @crossplatform
556   * @atomicservice
557   * @since 11
558   */
559  constructor();
560
561  /**
562   * Provides events to play.
563   *
564   * @syscap SystemCapability.ArkUI.ArkUI.Full
565   * @since 7
566   */
567  /**
568   * Provides events to play.
569   *
570   * @syscap SystemCapability.ArkUI.ArkUI.Full
571   * @crossplatform
572   * @since 10
573   */
574  /**
575   * Provides events to play.
576   *
577   * @syscap SystemCapability.ArkUI.ArkUI.Full
578   * @crossplatform
579   * @atomicservice
580   * @since 11
581   */
582  start();
583
584  /**
585   * Provides a pause event for playback.
586   *
587   * @syscap SystemCapability.ArkUI.ArkUI.Full
588   * @since 7
589   */
590  /**
591   * Provides a pause event for playback.
592   *
593   * @syscap SystemCapability.ArkUI.ArkUI.Full
594   * @crossplatform
595   * @since 10
596   */
597  /**
598   * Provides a pause event for playback.
599   *
600   * @syscap SystemCapability.ArkUI.ArkUI.Full
601   * @crossplatform
602   * @atomicservice
603   * @since 11
604   */
605  pause();
606
607  /**
608   * Provides an event to stop playback.
609   *
610   * @syscap SystemCapability.ArkUI.ArkUI.Full
611   * @since 7
612   */
613  /**
614   * Provides an event to stop playback.
615   *
616   * @syscap SystemCapability.ArkUI.ArkUI.Full
617   * @crossplatform
618   * @since 10
619   */
620  /**
621   * Provides an event to stop playback.
622   *
623   * @syscap SystemCapability.ArkUI.ArkUI.Full
624   * @crossplatform
625   * @atomicservice
626   * @since 11
627   */
628  stop();
629
630  /**
631   * Provide the progress method of video playback.
632   *
633   * @param { number } value
634   * @syscap SystemCapability.ArkUI.ArkUI.Full
635   * @since 7
636   */
637  /**
638   * Provide the progress method of video playback.
639   *
640   * @param { number } value
641   * @syscap SystemCapability.ArkUI.ArkUI.Full
642   * @crossplatform
643   * @since 10
644   */
645  /**
646   * Provide the progress method of video playback.
647   *
648   * @param { number } value
649   * @syscap SystemCapability.ArkUI.ArkUI.Full
650   * @crossplatform
651   * @atomicservice
652   * @since 11
653   */
654  setCurrentTime(value: number);
655
656  /**
657   * Provides a full screen playback method.
658   *
659   * @param { boolean } value
660   * @syscap SystemCapability.ArkUI.ArkUI.Full
661   * @since 7
662   */
663  /**
664   * Provides a full screen playback method.
665   *
666   * @param { boolean } value
667   * @syscap SystemCapability.ArkUI.ArkUI.Full
668   * @crossplatform
669   * @since 10
670   */
671  /**
672   * Provides a full screen playback method.
673   *
674   * @param { boolean } value
675   * @syscap SystemCapability.ArkUI.ArkUI.Full
676   * @crossplatform
677   * @atomicservice
678   * @since 11
679   */
680  requestFullscreen(value: boolean);
681
682  /**
683   * Provides a method to exit full screen playback.
684   *
685   * @syscap SystemCapability.ArkUI.ArkUI.Full
686   * @since 7
687   */
688  /**
689   * Provides a method to exit full screen playback.
690   *
691   * @syscap SystemCapability.ArkUI.ArkUI.Full
692   * @crossplatform
693   * @since 10
694   */
695  /**
696   * Provides a method to exit full screen playback.
697   *
698   * @syscap SystemCapability.ArkUI.ArkUI.Full
699   * @crossplatform
700   * @atomicservice
701   * @since 11
702   */
703  exitFullscreen();
704
705  /**
706   * Provide the progress method of video playback.
707   *
708   * @param { number } value
709   * @param { SeekMode } seekMode
710   * @syscap SystemCapability.ArkUI.ArkUI.Full
711   * @since 8
712   */
713  /**
714   * Provide the progress method of video playback.
715   *
716   * @param { number } value
717   * @param { SeekMode } seekMode
718   * @syscap SystemCapability.ArkUI.ArkUI.Full
719   * @crossplatform
720   * @since 10
721   */
722  /**
723   * Provide the progress method of video playback.
724   *
725   * @param { number } value
726   * @param { SeekMode } seekMode
727   * @syscap SystemCapability.ArkUI.ArkUI.Full
728   * @crossplatform
729   * @atomicservice
730   * @since 11
731   */
732  setCurrentTime(value: number, seekMode: SeekMode);
733
734  /**
735   * Provide the reset method of video playback.
736   *
737   * @syscap SystemCapability.ArkUI.ArkUI.Full
738   * @atomicservice
739   * @since 12
740   */
741  reset(): void;
742}
743
744/**
745 * Defines the video interface.
746 *
747 * @interface VideoInterface
748 * @syscap SystemCapability.ArkUI.ArkUI.Full
749 * @since 7
750 */
751/**
752 * Defines the video interface.
753 *
754 * @interface VideoInterface
755 * @syscap SystemCapability.ArkUI.ArkUI.Full
756 * @crossplatform
757 * @since 10
758 */
759/**
760 * Defines the video interface.
761 *
762 * @interface VideoInterface
763 * @syscap SystemCapability.ArkUI.ArkUI.Full
764 * @crossplatform
765 * @atomicservice
766 * @since 11
767 */
768interface VideoInterface {
769  /**
770   * Set the value.
771   *
772   * @param { VideoOptions } value
773   * @returns { VideoAttribute }
774   * @syscap SystemCapability.ArkUI.ArkUI.Full
775   * @since 7
776   */
777  /**
778   * Set the value.
779   *
780   * @param { VideoOptions } value
781   * @returns { VideoAttribute }
782   * @syscap SystemCapability.ArkUI.ArkUI.Full
783   * @crossplatform
784   * @since 10
785   */
786  /**
787   * Set the value.
788   *
789   * @param { VideoOptions } value
790   * @returns { VideoAttribute }
791   * @syscap SystemCapability.ArkUI.ArkUI.Full
792   * @crossplatform
793   * @atomicservice
794   * @since 11
795   */
796  (value: VideoOptions): VideoAttribute;
797}
798
799/**
800 * Defines the video attribute functions.
801 *
802 * @extends CommonMethod<VideoAttribute>
803 * @syscap SystemCapability.ArkUI.ArkUI.Full
804 * @since 7
805 */
806/**
807 * Defines the video attribute functions.
808 *
809 * @extends CommonMethod<VideoAttribute>
810 * @syscap SystemCapability.ArkUI.ArkUI.Full
811 * @crossplatform
812 * @since 10
813 */
814/**
815 * Defines the video attribute functions.
816 *
817 * @extends CommonMethod<VideoAttribute>
818 * @syscap SystemCapability.ArkUI.ArkUI.Full
819 * @crossplatform
820 * @atomicservice
821 * @since 11
822 */
823declare class VideoAttribute extends CommonMethod<VideoAttribute> {
824  /**
825   * Called when judging whether the video is muted.
826   *
827   * @param { boolean } value
828   * @returns { VideoAttribute }
829   * @syscap SystemCapability.ArkUI.ArkUI.Full
830   * @since 7
831   */
832  /**
833   * Called when judging whether the video is muted.
834   *
835   * @param { boolean } value
836   * @returns { VideoAttribute }
837   * @syscap SystemCapability.ArkUI.ArkUI.Full
838   * @crossplatform
839   * @since 10
840   */
841  /**
842   * Called when judging whether the video is muted.
843   *
844   * @param { boolean } value
845   * @returns { VideoAttribute }
846   * @syscap SystemCapability.ArkUI.ArkUI.Full
847   * @crossplatform
848   * @atomicservice
849   * @since 11
850   */
851  muted(value: boolean): VideoAttribute;
852
853  /**
854   * Called when judging whether the video is played automatically.
855   *
856   * @param { boolean } value
857   * @returns { VideoAttribute }
858   * @syscap SystemCapability.ArkUI.ArkUI.Full
859   * @since 7
860   */
861  /**
862   * Called when judging whether the video is played automatically.
863   *
864   * @param { boolean } value
865   * @returns { VideoAttribute }
866   * @syscap SystemCapability.ArkUI.ArkUI.Full
867   * @crossplatform
868   * @since 10
869   */
870  /**
871   * Called when judging whether the video is played automatically.
872   *
873   * @param { boolean } value
874   * @returns { VideoAttribute }
875   * @syscap SystemCapability.ArkUI.ArkUI.Full
876   * @crossplatform
877   * @atomicservice
878   * @since 11
879   */
880  autoPlay(value: boolean): VideoAttribute;
881
882  /**
883   * Called when judging whether the control bar is displayed.
884   *
885   * @param { boolean } value
886   * @returns { VideoAttribute }
887   * @syscap SystemCapability.ArkUI.ArkUI.Full
888   * @since 7
889   */
890  /**
891   * Called when judging whether the control bar is displayed.
892   *
893   * @param { boolean } value
894   * @returns { VideoAttribute }
895   * @syscap SystemCapability.ArkUI.ArkUI.Full
896   * @crossplatform
897   * @since 10
898   */
899  /**
900   * Called when judging whether the control bar is displayed.
901   *
902   * @param { boolean } value
903   * @returns { VideoAttribute }
904   * @syscap SystemCapability.ArkUI.ArkUI.Full
905   * @crossplatform
906   * @atomicservice
907   * @since 11
908   */
909  controls(value: boolean): VideoAttribute;
910
911  /**
912   * Called when judging whether the video is played circular.
913   *
914   * @param { boolean } value
915   * @returns { VideoAttribute }
916   * @syscap SystemCapability.ArkUI.ArkUI.Full
917   * @since 6
918   */
919  /**
920   * Called when judging whether the video is played circular.
921   *
922   * @param { boolean } value
923   * @returns { VideoAttribute }
924   * @syscap SystemCapability.ArkUI.ArkUI.Full
925   * @crossplatform
926   * @since 10
927   */
928  /**
929   * Called when judging whether the video is played circular.
930   *
931   * @param { boolean } value
932   * @returns { VideoAttribute }
933   * @syscap SystemCapability.ArkUI.ArkUI.Full
934   * @crossplatform
935   * @atomicservice
936   * @since 11
937   */
938  loop(value: boolean): VideoAttribute;
939
940  /**
941   * Called when determining the zoom type of the video source.
942   *
943   * @param { ImageFit } value
944   * @returns { VideoAttribute }
945   * @syscap SystemCapability.ArkUI.ArkUI.Full
946   * @since 7
947   */
948  /**
949   * Called when determining the zoom type of the video source.
950   *
951   * @param { ImageFit } value
952   * @returns { VideoAttribute }
953   * @syscap SystemCapability.ArkUI.ArkUI.Full
954   * @crossplatform
955   * @since 10
956   */
957  /**
958   * Called when determining the zoom type of the video source.
959   *
960   * @param { ImageFit } value
961   * @returns { VideoAttribute }
962   * @syscap SystemCapability.ArkUI.ArkUI.Full
963   * @crossplatform
964   * @atomicservice
965   * @since 11
966   */
967  objectFit(value: ImageFit): VideoAttribute;
968
969  /**
970   * Called when the video is played.
971   *
972   * @param { function } event
973   * @returns { VideoAttribute }
974   * @syscap SystemCapability.ArkUI.ArkUI.Full
975   * @since 7
976   */
977  /**
978   * Called when the video is played.
979   *
980   * @param { function } event
981   * @returns { VideoAttribute }
982   * @syscap SystemCapability.ArkUI.ArkUI.Full
983   * @crossplatform
984   * @since 10
985   */
986  /**
987   * Called when the video is played.
988   *
989   * @param { function } event
990   * @returns { VideoAttribute }
991   * @syscap SystemCapability.ArkUI.ArkUI.Full
992   * @crossplatform
993   * @atomicservice
994   * @since 11
995   */
996  /**
997   * Called when the video is played.
998   *
999   * @param { VoidCallback } event
1000   * @returns { VideoAttribute }
1001   * @syscap SystemCapability.ArkUI.ArkUI.Full
1002   * @crossplatform
1003   * @atomicservice
1004   * @since 14
1005   */
1006  onStart(event: VoidCallback): VideoAttribute;
1007
1008  /**
1009   * Called when the video is paused.
1010   *
1011   * @param { function } event
1012   * @returns { VideoAttribute }
1013   * @syscap SystemCapability.ArkUI.ArkUI.Full
1014   * @since 7
1015   */
1016  /**
1017   * Called when the video is paused.
1018   *
1019   * @param { function } event
1020   * @returns { VideoAttribute }
1021   * @syscap SystemCapability.ArkUI.ArkUI.Full
1022   * @crossplatform
1023   * @since 10
1024   */
1025  /**
1026   * Called when the video is paused.
1027   *
1028   * @param { function } event
1029   * @returns { VideoAttribute }
1030   * @syscap SystemCapability.ArkUI.ArkUI.Full
1031   * @crossplatform
1032   * @atomicservice
1033   * @since 11
1034   */
1035  /**
1036   * Called when the video is paused.
1037   *
1038   * @param { VoidCallback } event
1039   * @returns { VideoAttribute }
1040   * @syscap SystemCapability.ArkUI.ArkUI.Full
1041   * @crossplatform
1042   * @atomicservice
1043   * @since 14
1044   */
1045  onPause(event: VoidCallback): VideoAttribute;
1046
1047  /**
1048   * Called when the video playback ends.
1049   *
1050   * @param { function } event
1051   * @returns { VideoAttribute }
1052   * @syscap SystemCapability.ArkUI.ArkUI.Full
1053   * @since 7
1054   */
1055  /**
1056   * Called when the video playback ends.
1057   *
1058   * @param { function } event
1059   * @returns { VideoAttribute }
1060   * @syscap SystemCapability.ArkUI.ArkUI.Full
1061   * @crossplatform
1062   * @since 10
1063   */
1064  /**
1065   * Called when the video playback ends.
1066   *
1067   * @param { function } event
1068   * @returns { VideoAttribute }
1069   * @syscap SystemCapability.ArkUI.ArkUI.Full
1070   * @crossplatform
1071   * @atomicservice
1072   * @since 11
1073   */
1074  /**
1075   * Called when the video playback ends.
1076   *
1077   * @param { VoidCallback } event
1078   * @returns { VideoAttribute }
1079   * @syscap SystemCapability.ArkUI.ArkUI.Full
1080   * @crossplatform
1081   * @atomicservice
1082   * @since 14
1083   */
1084  onFinish(event: VoidCallback): VideoAttribute;
1085
1086  /**
1087   * Called when the video enters and exits the full screen.
1088   *
1089   * @param { function } callback
1090   * @returns { VideoAttribute }
1091   * @syscap SystemCapability.ArkUI.ArkUI.Full
1092   * @since 7
1093   */
1094  /**
1095   * Called when the video enters and exits the full screen.
1096   *
1097   * @param { function } callback
1098   * @returns { VideoAttribute }
1099   * @syscap SystemCapability.ArkUI.ArkUI.Full
1100   * @crossplatform
1101   * @since 10
1102   */
1103  /**
1104   * Called when the video enters and exits the full screen.
1105   *
1106   * @param { function } callback
1107   * @returns { VideoAttribute }
1108   * @syscap SystemCapability.ArkUI.ArkUI.Full
1109   * @crossplatform
1110   * @atomicservice
1111   * @since 11
1112   */
1113  /**
1114   * Called when the video enters and exits the full screen.
1115   *
1116   * @param { Callback<FullscreenInfo> } callback
1117   * @returns { VideoAttribute }
1118   * @syscap SystemCapability.ArkUI.ArkUI.Full
1119   * @crossplatform
1120   * @atomicservice
1121   * @since 14
1122   */
1123  onFullscreenChange(callback: Callback<FullscreenInfo>): VideoAttribute;
1124
1125  /**
1126   * Called when the video preparation is complete.
1127   *
1128   * @param { function } callback
1129   * @returns { VideoAttribute }
1130   * @syscap SystemCapability.ArkUI.ArkUI.Full
1131   * @since 7
1132   */
1133  /**
1134   * Called when the video preparation is complete.
1135   *
1136   * @param { function } callback
1137   * @returns { VideoAttribute }
1138   * @syscap SystemCapability.ArkUI.ArkUI.Full
1139   * @crossplatform
1140   * @since 10
1141   */
1142  /**
1143   * Called when the video preparation is complete.
1144   *
1145   * @param { function } callback
1146   * @returns { VideoAttribute }
1147   * @syscap SystemCapability.ArkUI.ArkUI.Full
1148   * @crossplatform
1149   * @atomicservice
1150   * @since 11
1151   */
1152  /**
1153   * Called when the video preparation is complete.
1154   *
1155   * @param { Callback<PreparedInfo> } callback
1156   * @returns { VideoAttribute }
1157   * @syscap SystemCapability.ArkUI.ArkUI.Full
1158   * @crossplatform
1159   * @atomicservice
1160   * @since 14
1161   */
1162  onPrepared(callback: Callback<PreparedInfo>): VideoAttribute;
1163
1164  /**
1165   * Called when the time information is reported when the progress bar process is operated.
1166   *
1167   * @param { function } callback
1168   * @returns { VideoAttribute }
1169   * @syscap SystemCapability.ArkUI.ArkUI.Full
1170   * @since 7
1171   */
1172  /**
1173   * Called when the time information is reported when the progress bar process is operated.
1174   *
1175   * @param { function } callback
1176   * @returns { VideoAttribute }
1177   * @syscap SystemCapability.ArkUI.ArkUI.Full
1178   * @crossplatform
1179   * @since 10
1180   */
1181  /**
1182   * Called when the time information is reported when the progress bar process is operated.
1183   *
1184   * @param { function } callback
1185   * @returns { VideoAttribute }
1186   * @syscap SystemCapability.ArkUI.ArkUI.Full
1187   * @crossplatform
1188   * @atomicservice
1189   * @since 11
1190   */
1191  /**
1192   * Called when the time information is reported when the progress bar process is operated.
1193   *
1194   * @param { Callback<PlaybackInfo> } callback
1195   * @returns { VideoAttribute }
1196   * @syscap SystemCapability.ArkUI.ArkUI.Full
1197   * @crossplatform
1198   * @atomicservice
1199   * @since 14
1200   */
1201  onSeeking(callback: Callback<PlaybackInfo>): VideoAttribute;
1202
1203  /**
1204   * Called when the playback time information is reported after the operation progress bar is completed.
1205   *
1206   * @param { function } callback
1207   * @returns { VideoAttribute }
1208   * @syscap SystemCapability.ArkUI.ArkUI.Full
1209   * @since 7
1210   */
1211  /**
1212   * Called when the playback time information is reported after the operation progress bar is completed.
1213   *
1214   * @param { function } callback
1215   * @returns { VideoAttribute }
1216   * @syscap SystemCapability.ArkUI.ArkUI.Full
1217   * @crossplatform
1218   * @since 10
1219   */
1220  /**
1221   * Called when the playback time information is reported after the operation progress bar is completed.
1222   *
1223   * @param { function } callback
1224   * @returns { VideoAttribute }
1225   * @syscap SystemCapability.ArkUI.ArkUI.Full
1226   * @crossplatform
1227   * @atomicservice
1228   * @since 11
1229   */
1230  /**
1231   * Called when the playback time information is reported after the operation progress bar is completed.
1232   *
1233   * @param { Callback<PlaybackInfo> } callback
1234   * @returns { VideoAttribute }
1235   * @syscap SystemCapability.ArkUI.ArkUI.Full
1236   * @crossplatform
1237   * @atomicservice
1238   * @since 14
1239   */
1240  onSeeked(callback: Callback<PlaybackInfo>): VideoAttribute;
1241
1242  /**
1243   * Called when the playback progress changes.
1244   *
1245   * @param { function } callback
1246   * @returns { VideoAttribute }
1247   * @syscap SystemCapability.ArkUI.ArkUI.Full
1248   * @since 7
1249   */
1250  /**
1251   * Called when the playback progress changes.
1252   *
1253   * @param { function } callback
1254   * @returns { VideoAttribute }
1255   * @syscap SystemCapability.ArkUI.ArkUI.Full
1256   * @crossplatform
1257   * @since 10
1258   */
1259  /**
1260   * Called when the playback progress changes.
1261   *
1262   * @param { function } callback
1263   * @returns { VideoAttribute }
1264   * @syscap SystemCapability.ArkUI.ArkUI.Full
1265   * @crossplatform
1266   * @atomicservice
1267   * @since 11
1268   */
1269  /**
1270   * Called when the playback progress changes.
1271   *
1272   * @param { Callback<PlaybackInfo> } callback
1273   * @returns { VideoAttribute }
1274   * @syscap SystemCapability.ArkUI.ArkUI.Full
1275   * @crossplatform
1276   * @atomicservice
1277   * @since 14
1278   */
1279  onUpdate(callback: Callback<PlaybackInfo>): VideoAttribute;
1280
1281  /**
1282   * Called when playback fails.
1283   *
1284   * @param { function } event
1285   * @returns { VideoAttribute }
1286   * @syscap SystemCapability.ArkUI.ArkUI.Full
1287   * @since 7
1288   */
1289  /**
1290   * Called when playback fails.
1291   *
1292   * @param { function } event
1293   * @returns { VideoAttribute }
1294   * @syscap SystemCapability.ArkUI.ArkUI.Full
1295   * @crossplatform
1296   * @since 10
1297   */
1298  /**
1299   * Called when playback fails.
1300   *
1301   * @param { function } event
1302   * @returns { VideoAttribute }
1303   * @syscap SystemCapability.ArkUI.ArkUI.Full
1304   * @crossplatform
1305   * @atomicservice
1306   * @since 11
1307   */
1308  onError(event: () => void): VideoAttribute;
1309
1310  /**
1311   * Called when the video is stopped.
1312   *
1313   * @param { Callback<void> } event
1314   * @returns { VideoAttribute }
1315   * @syscap SystemCapability.ArkUI.ArkUI.Full
1316   * @crossplatform
1317   * @atomicservice
1318   * @since 12
1319   */
1320  onStop(event: Callback<void>): VideoAttribute;
1321
1322  /**
1323   * Enable image analyzer.
1324   *
1325   * @param { boolean } enable
1326   * @returns { VideoAttribute }
1327   * @syscap SystemCapability.ArkUI.ArkUI.Full
1328   * @atomicservice
1329   * @since 12
1330   */
1331  enableAnalyzer(enable: boolean): VideoAttribute;
1332
1333  /**
1334   * Set image analyzer with config.
1335   *
1336   * @param { ImageAnalyzerConfig } config
1337   * @returns { VideoAttribute }
1338   * @syscap SystemCapability.ArkUI.ArkUI.Full
1339   * @atomicservice
1340   * @since 12
1341   */
1342  analyzerConfig(config: ImageAnalyzerConfig): VideoAttribute;
1343}
1344
1345/**
1346 * Defines Video Component.
1347 *
1348 * @syscap SystemCapability.ArkUI.ArkUI.Full
1349 * @since 7
1350 */
1351/**
1352 * Defines Video Component.
1353 *
1354 * @syscap SystemCapability.ArkUI.ArkUI.Full
1355 * @crossplatform
1356 * @since 10
1357 */
1358/**
1359 * Defines Video Component.
1360 *
1361 * @syscap SystemCapability.ArkUI.ArkUI.Full
1362 * @crossplatform
1363 * @atomicservice
1364 * @since 11
1365 */
1366declare const Video: VideoInterface;
1367
1368/**
1369 * Defines Video Component instance.
1370 *
1371 * @syscap SystemCapability.ArkUI.ArkUI.Full
1372 * @since 7
1373 */
1374/**
1375 * Defines Video Component instance.
1376 *
1377 * @syscap SystemCapability.ArkUI.ArkUI.Full
1378 * @crossplatform
1379 * @since 10
1380 */
1381/**
1382 * Defines Video Component instance.
1383 *
1384 * @syscap SystemCapability.ArkUI.ArkUI.Full
1385 * @crossplatform
1386 * @atomicservice
1387 * @since 11
1388 */
1389declare const VideoInstance: VideoAttribute;
1390