161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci * Copyright (c) 2020 Huawei Device Co., Ltd.
361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
461847f8eSopenharmony_ci * you may not use this file except in compliance with the License.
561847f8eSopenharmony_ci * You may obtain a copy of the License at
661847f8eSopenharmony_ci *
761847f8eSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
861847f8eSopenharmony_ci *
961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and
1361847f8eSopenharmony_ci * limitations under the License.
1461847f8eSopenharmony_ci */
1561847f8eSopenharmony_ci
1661847f8eSopenharmony_ci/**
1761847f8eSopenharmony_ci * @file
1861847f8eSopenharmony_ci * @kit ArkUI
1961847f8eSopenharmony_ci */
2061847f8eSopenharmony_ci
2161847f8eSopenharmony_ci/**
2261847f8eSopenharmony_ci * Defines the AppResponse info.
2361847f8eSopenharmony_ci *
2461847f8eSopenharmony_ci * @interface AppResponse
2561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Lite
2661847f8eSopenharmony_ci * @since 3
2761847f8eSopenharmony_ci */
2861847f8eSopenharmony_ci/**
2961847f8eSopenharmony_ci * Defines the AppResponse info.
3061847f8eSopenharmony_ci *
3161847f8eSopenharmony_ci * @interface AppResponse
3261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Lite
3361847f8eSopenharmony_ci * @atomicservice
3461847f8eSopenharmony_ci * @since 12
3561847f8eSopenharmony_ci */
3661847f8eSopenharmony_ciexport interface AppResponse {
3761847f8eSopenharmony_ci  /**
3861847f8eSopenharmony_ci   * Application bundleName.
3961847f8eSopenharmony_ci   *
4061847f8eSopenharmony_ci   * @type { string }
4161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
4261847f8eSopenharmony_ci   * @since 6
4361847f8eSopenharmony_ci   */
4461847f8eSopenharmony_ci  /**
4561847f8eSopenharmony_ci   * Application bundleName.
4661847f8eSopenharmony_ci   *
4761847f8eSopenharmony_ci   * @type { string }
4861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
4961847f8eSopenharmony_ci   * @atomicservice
5061847f8eSopenharmony_ci   * @since 12
5161847f8eSopenharmony_ci   */
5261847f8eSopenharmony_ci  appID: string;
5361847f8eSopenharmony_ci
5461847f8eSopenharmony_ci  /**
5561847f8eSopenharmony_ci   * Application name.
5661847f8eSopenharmony_ci   *
5761847f8eSopenharmony_ci   * @type { string }
5861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Lite
5961847f8eSopenharmony_ci   * @since 3
6061847f8eSopenharmony_ci   */
6161847f8eSopenharmony_ci  /**
6261847f8eSopenharmony_ci   * Application name.
6361847f8eSopenharmony_ci   *
6461847f8eSopenharmony_ci   * @type { string }
6561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Lite
6661847f8eSopenharmony_ci   * @atomicservice
6761847f8eSopenharmony_ci   * @since 12
6861847f8eSopenharmony_ci   */
6961847f8eSopenharmony_ci  appName: string;
7061847f8eSopenharmony_ci
7161847f8eSopenharmony_ci  /**
7261847f8eSopenharmony_ci   * Application version name.
7361847f8eSopenharmony_ci   *
7461847f8eSopenharmony_ci   * @type { string }
7561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Lite
7661847f8eSopenharmony_ci   * @since 3
7761847f8eSopenharmony_ci   */
7861847f8eSopenharmony_ci  /**
7961847f8eSopenharmony_ci   * Application version name.
8061847f8eSopenharmony_ci   *
8161847f8eSopenharmony_ci   * @type { string }
8261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Lite
8361847f8eSopenharmony_ci   * @atomicservice
8461847f8eSopenharmony_ci   * @since 12
8561847f8eSopenharmony_ci   */
8661847f8eSopenharmony_ci  versionName: string;
8761847f8eSopenharmony_ci
8861847f8eSopenharmony_ci  /**
8961847f8eSopenharmony_ci   * Application version.
9061847f8eSopenharmony_ci   *
9161847f8eSopenharmony_ci   * @type { number }
9261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Lite
9361847f8eSopenharmony_ci   * @since 3
9461847f8eSopenharmony_ci   */
9561847f8eSopenharmony_ci  /**
9661847f8eSopenharmony_ci   * Application version.
9761847f8eSopenharmony_ci   *
9861847f8eSopenharmony_ci   * @type { number }
9961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Lite
10061847f8eSopenharmony_ci   * @atomicservice
10161847f8eSopenharmony_ci   * @since 12
10261847f8eSopenharmony_ci   */
10361847f8eSopenharmony_ci  versionCode: number;
10461847f8eSopenharmony_ci}
10561847f8eSopenharmony_ci
10661847f8eSopenharmony_ci/**
10761847f8eSopenharmony_ci * Defines the option of screenOnVisible interface.
10861847f8eSopenharmony_ci *
10961847f8eSopenharmony_ci * @interface ScreenOnVisibleOptions
11061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
11161847f8eSopenharmony_ci * @since 3
11261847f8eSopenharmony_ci */
11361847f8eSopenharmony_ci/**
11461847f8eSopenharmony_ci * Defines the option of screenOnVisible interface.
11561847f8eSopenharmony_ci *
11661847f8eSopenharmony_ci * @interface ScreenOnVisibleOptions
11761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
11861847f8eSopenharmony_ci * @atomicservice
11961847f8eSopenharmony_ci * @since 11
12061847f8eSopenharmony_ci */
12161847f8eSopenharmony_ciexport interface ScreenOnVisibleOptions {
12261847f8eSopenharmony_ci  /**
12361847f8eSopenharmony_ci   * Whether to keep the application visible. The default value is false.
12461847f8eSopenharmony_ci   *
12561847f8eSopenharmony_ci   * @type { ?boolean }
12661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
12761847f8eSopenharmony_ci   * @since 3
12861847f8eSopenharmony_ci   */
12961847f8eSopenharmony_ci  /**
13061847f8eSopenharmony_ci   * Whether to keep the application visible. The default value is false.
13161847f8eSopenharmony_ci   *
13261847f8eSopenharmony_ci   * @type { ?boolean }
13361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
13461847f8eSopenharmony_ci   * @atomicservice
13561847f8eSopenharmony_ci   * @since 11
13661847f8eSopenharmony_ci   */
13761847f8eSopenharmony_ci  visible?: boolean;
13861847f8eSopenharmony_ci
13961847f8eSopenharmony_ci  /**
14061847f8eSopenharmony_ci   * Called when the application always keeps visible.
14161847f8eSopenharmony_ci   *
14261847f8eSopenharmony_ci   * @type { ?function }
14361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
14461847f8eSopenharmony_ci   * @since 3
14561847f8eSopenharmony_ci   */
14661847f8eSopenharmony_ci  /**
14761847f8eSopenharmony_ci   * Called when the application always keeps visible.
14861847f8eSopenharmony_ci   *
14961847f8eSopenharmony_ci   * @type { ?function }
15061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
15161847f8eSopenharmony_ci   * @atomicservice
15261847f8eSopenharmony_ci   * @since 11
15361847f8eSopenharmony_ci   */
15461847f8eSopenharmony_ci  success?: () => void;
15561847f8eSopenharmony_ci
15661847f8eSopenharmony_ci  /**
15761847f8eSopenharmony_ci   * Called when the application fails to keep visible.
15861847f8eSopenharmony_ci   *
15961847f8eSopenharmony_ci   * @type { ?function }
16061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
16161847f8eSopenharmony_ci   * @since 3
16261847f8eSopenharmony_ci   */
16361847f8eSopenharmony_ci  /**
16461847f8eSopenharmony_ci   * Called when the application fails to keep visible.
16561847f8eSopenharmony_ci   *
16661847f8eSopenharmony_ci   * @type { ?function }
16761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
16861847f8eSopenharmony_ci   * @atomicservice
16961847f8eSopenharmony_ci   * @since 11
17061847f8eSopenharmony_ci   */
17161847f8eSopenharmony_ci  fail?: (data: string, code: number) => void;
17261847f8eSopenharmony_ci
17361847f8eSopenharmony_ci  /**
17461847f8eSopenharmony_ci   * Called when the execution is completed.
17561847f8eSopenharmony_ci   *
17661847f8eSopenharmony_ci   * @type { ?function }
17761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
17861847f8eSopenharmony_ci   * @since 3
17961847f8eSopenharmony_ci   */
18061847f8eSopenharmony_ci  /**
18161847f8eSopenharmony_ci   * Called when the execution is completed.
18261847f8eSopenharmony_ci   *
18361847f8eSopenharmony_ci   * @type { ?function }
18461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
18561847f8eSopenharmony_ci   * @atomicservice
18661847f8eSopenharmony_ci   * @since 11
18761847f8eSopenharmony_ci   */
18861847f8eSopenharmony_ci  complete?: () => void;
18961847f8eSopenharmony_ci}
19061847f8eSopenharmony_ci
19161847f8eSopenharmony_ci/**
19261847f8eSopenharmony_ci * Defines the option of RequestFullWindow interface.
19361847f8eSopenharmony_ci *
19461847f8eSopenharmony_ci * @interface RequestFullWindowOptions
19561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
19661847f8eSopenharmony_ci * @since 3
19761847f8eSopenharmony_ci */
19861847f8eSopenharmony_ci/**
19961847f8eSopenharmony_ci * Defines the option of RequestFullWindow interface.
20061847f8eSopenharmony_ci *
20161847f8eSopenharmony_ci * @interface RequestFullWindowOptions
20261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
20361847f8eSopenharmony_ci * @atomicservice
20461847f8eSopenharmony_ci * @since 11
20561847f8eSopenharmony_ci */
20661847f8eSopenharmony_ciexport interface RequestFullWindowOptions {
20761847f8eSopenharmony_ci  /**
20861847f8eSopenharmony_ci   * Defines the number of animation options.
20961847f8eSopenharmony_ci   *
21061847f8eSopenharmony_ci   * @type { number }
21161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
21261847f8eSopenharmony_ci   * @since 3
21361847f8eSopenharmony_ci   */
21461847f8eSopenharmony_ci  /**
21561847f8eSopenharmony_ci   * Defines the number of animation options.
21661847f8eSopenharmony_ci   *
21761847f8eSopenharmony_ci   * @type { number }
21861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
21961847f8eSopenharmony_ci   * @atomicservice
22061847f8eSopenharmony_ci   * @since 11
22161847f8eSopenharmony_ci   */
22261847f8eSopenharmony_ci  duration: number;
22361847f8eSopenharmony_ci}
22461847f8eSopenharmony_ci
22561847f8eSopenharmony_ci/**
22661847f8eSopenharmony_ci * Defines the app class info.
22761847f8eSopenharmony_ci *
22861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Lite
22961847f8eSopenharmony_ci * @since 3
23061847f8eSopenharmony_ci */
23161847f8eSopenharmony_ci/**
23261847f8eSopenharmony_ci * Defines the app class info.
23361847f8eSopenharmony_ci *
23461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Lite
23561847f8eSopenharmony_ci * @atomicservice
23661847f8eSopenharmony_ci * @since 12
23761847f8eSopenharmony_ci */
23861847f8eSopenharmony_ciexport default class App {
23961847f8eSopenharmony_ci  /**
24061847f8eSopenharmony_ci   * Obtains the declared information in the config.json file of an application.
24161847f8eSopenharmony_ci   *
24261847f8eSopenharmony_ci   * @returns { AppResponse }
24361847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Lite
24461847f8eSopenharmony_ci   * @since 3
24561847f8eSopenharmony_ci   */
24661847f8eSopenharmony_ci  /**
24761847f8eSopenharmony_ci   * Obtains the declared information in the config.json file of an application.
24861847f8eSopenharmony_ci   *
24961847f8eSopenharmony_ci   * @returns { AppResponse }
25061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Lite
25161847f8eSopenharmony_ci   * @atomicservice
25261847f8eSopenharmony_ci   * @since 12
25361847f8eSopenharmony_ci   */
25461847f8eSopenharmony_ci  static getInfo(): AppResponse;
25561847f8eSopenharmony_ci
25661847f8eSopenharmony_ci  /**
25761847f8eSopenharmony_ci   * Destroys the current ability.
25861847f8eSopenharmony_ci   *
25961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Lite
26061847f8eSopenharmony_ci   * @since 3
26161847f8eSopenharmony_ci   */
26261847f8eSopenharmony_ci  /**
26361847f8eSopenharmony_ci   * Destroys the current ability.
26461847f8eSopenharmony_ci   *
26561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Lite
26661847f8eSopenharmony_ci   * @atomicservice
26761847f8eSopenharmony_ci   * @since 12
26861847f8eSopenharmony_ci   */
26961847f8eSopenharmony_ci  static terminate(): void;
27061847f8eSopenharmony_ci
27161847f8eSopenharmony_ci  /**
27261847f8eSopenharmony_ci   * Keeps the application visible after the screen is waken up.
27361847f8eSopenharmony_ci   * This method prevents the system from returning to the home screen when the screen is locked.
27461847f8eSopenharmony_ci   *
27561847f8eSopenharmony_ci   * @param { ScreenOnVisibleOptions } options
27661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
27761847f8eSopenharmony_ci   * @since 3
27861847f8eSopenharmony_ci   * @deprecated since 8
27961847f8eSopenharmony_ci   */
28061847f8eSopenharmony_ci  static screenOnVisible(options?: ScreenOnVisibleOptions): void;
28161847f8eSopenharmony_ci
28261847f8eSopenharmony_ci  /**
28361847f8eSopenharmony_ci   * Requests the application to run in full window.
28461847f8eSopenharmony_ci   * In some scenarios, such as semi-modal FA, the FA runs in non-full window.
28561847f8eSopenharmony_ci   * In this case, you can call this API.
28661847f8eSopenharmony_ci   * This API is invalid for an application already in full-window mode.
28761847f8eSopenharmony_ci   *
28861847f8eSopenharmony_ci   * @param { RequestFullWindowOptions } options Transition time from non-full window to full window, in milliseconds.
28961847f8eSopenharmony_ci   * By default, the value is in direct proportion to the distance between the non-full window and the full window.
29061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
29161847f8eSopenharmony_ci   * @since 3
29261847f8eSopenharmony_ci   * @deprecated since 8
29361847f8eSopenharmony_ci   * @useinstead startAbility
29461847f8eSopenharmony_ci   */
29561847f8eSopenharmony_ci  static requestFullWindow(options?: RequestFullWindowOptions): void;
29661847f8eSopenharmony_ci
29761847f8eSopenharmony_ci  /**
29861847f8eSopenharmony_ci   * Set image cache capacity of decoded image count.
29961847f8eSopenharmony_ci   * if not set, the application will not cache any decoded image.
30061847f8eSopenharmony_ci   *
30161847f8eSopenharmony_ci   * @param { number } value - capacity of decoded image count.
30261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
30361847f8eSopenharmony_ci   * @since 7
30461847f8eSopenharmony_ci   */
30561847f8eSopenharmony_ci  /**
30661847f8eSopenharmony_ci   * Set image cache capacity of decoded image count.
30761847f8eSopenharmony_ci   * if not set, the application will not cache any decoded image.
30861847f8eSopenharmony_ci   *
30961847f8eSopenharmony_ci   * @param { number } value - capacity of decoded image count.
31061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
31161847f8eSopenharmony_ci   * @atomicservice
31261847f8eSopenharmony_ci   * @since 12
31361847f8eSopenharmony_ci   */
31461847f8eSopenharmony_ci  static setImageCacheCount(value: number): void;
31561847f8eSopenharmony_ci
31661847f8eSopenharmony_ci  /**
31761847f8eSopenharmony_ci   * Set image cache capacity of raw image data size in bytes before decode.
31861847f8eSopenharmony_ci   * if not set, the application will not cache any raw image data.
31961847f8eSopenharmony_ci   *
32061847f8eSopenharmony_ci   * @param { number } value - capacity of raw image data size in bytes.
32161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
32261847f8eSopenharmony_ci   * @since 7
32361847f8eSopenharmony_ci   */
32461847f8eSopenharmony_ci  /**
32561847f8eSopenharmony_ci   * Set image cache capacity of raw image data size in bytes before decode.
32661847f8eSopenharmony_ci   * if not set, the application will not cache any raw image data.
32761847f8eSopenharmony_ci   *
32861847f8eSopenharmony_ci   * @param { number } value - capacity of raw image data size in bytes.
32961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
33061847f8eSopenharmony_ci   * @atomicservice
33161847f8eSopenharmony_ci   * @since 12
33261847f8eSopenharmony_ci   */
33361847f8eSopenharmony_ci  static setImageRawDataCacheSize(value: number): void;
33461847f8eSopenharmony_ci
33561847f8eSopenharmony_ci  /**
33661847f8eSopenharmony_ci   * Set image file cache size in bytes on disk before decode.
33761847f8eSopenharmony_ci   * if not set, the application will cache 100MB image files on disk.
33861847f8eSopenharmony_ci   *
33961847f8eSopenharmony_ci   * @param { number } value - capacity of raw image data size in bytes.
34061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
34161847f8eSopenharmony_ci   * @since 7
34261847f8eSopenharmony_ci   */
34361847f8eSopenharmony_ci  /**
34461847f8eSopenharmony_ci   * Set image file cache size in bytes on disk before decode.
34561847f8eSopenharmony_ci   * if not set, the application will cache 100MB image files on disk.
34661847f8eSopenharmony_ci   *
34761847f8eSopenharmony_ci   * @param { number } value - capacity of raw image data size in bytes.
34861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
34961847f8eSopenharmony_ci   * @atomicservice
35061847f8eSopenharmony_ci   * @since 12
35161847f8eSopenharmony_ci   */
35261847f8eSopenharmony_ci  static setImageFileCacheSize(value: number): void;
35361847f8eSopenharmony_ci}
354