1/*
2 * Copyright (c) 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 AbilityKit
19 */
20
21import type { ApplicationInfo } from '../bundleManager/ApplicationInfo';
22import type businessAbilityRouter from '../@ohos.app.businessAbilityRouter';
23
24/**
25 * Contains basic business ability information.
26 *
27 * @typedef BusinessAbilityInfo
28 * @syscap SystemCapability.Ability.AbilityRuntime.Core
29 * @systemapi
30 * @since 10
31 */
32export interface BusinessAbilityInfo {
33  /**
34   * Indicates the name of the bundle
35   *
36   * @type { string }
37   * @readonly
38   * @syscap SystemCapability.Ability.AbilityRuntime.Core
39   * @systemapi
40   * @since 10
41   */
42  readonly bundleName: string;
43
44  /**
45   * Indicates the name of the module
46   *
47   * @type { string }
48   * @readonly
49   * @syscap SystemCapability.Ability.AbilityRuntime.Core
50   * @systemapi
51   * @since 10
52   */
53  readonly moduleName: string;
54
55  /**
56   * Indicates the name of the business ability info
57   *
58   * @type { string }
59   * @readonly
60   * @syscap SystemCapability.Ability.AbilityRuntime.Core
61   * @systemapi
62   * @since 10
63   */
64  readonly name: string;
65
66  /**
67   * Indicates the label id of the business ability info
68   *
69   * @type { number }
70   * @readonly
71   * @syscap SystemCapability.Ability.AbilityRuntime.Core
72   * @systemapi
73   * @since 10
74   */
75  readonly labelId: number;
76
77  /**
78   * Indicates the description id of the business ability info
79   *
80   * @type { number }
81   * @readonly
82   * @syscap SystemCapability.Ability.AbilityRuntime.Core
83   * @systemapi
84   * @since 10
85   */
86  readonly descriptionId: number;
87
88  /**
89   * Indicates the icon id of the business ability info
90   *
91   * @type { number }
92   * @readonly
93   * @syscap SystemCapability.Ability.AbilityRuntime.Core
94   * @systemapi
95   * @since 10
96   */
97  readonly iconId: number;
98
99  /**
100   * Enumerates types of the business ability info
101   *
102   * @type { businessAbilityRouter.BusinessType }
103   * @readonly
104   * @syscap SystemCapability.Ability.AbilityRuntime.Core
105   * @systemapi
106   * @since 10
107   */
108  readonly businessType: businessAbilityRouter.BusinessType;
109
110  /**
111   * Obtains configuration information about an application
112   *
113   * @type { ApplicationInfo }
114   * @readonly
115   * @syscap SystemCapability.Ability.AbilityRuntime.Core
116   * @systemapi
117   * @since 10
118   */
119  readonly applicationInfo: ApplicationInfo;
120}