161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci * Copyright (c) 2022  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 BackgroundTasksKit
1961847f8eSopenharmony_ci */
2061847f8eSopenharmony_ci
2161847f8eSopenharmony_ciimport { AsyncCallback, Callback } from './@ohos.base';
2261847f8eSopenharmony_ci
2361847f8eSopenharmony_ci/**
2461847f8eSopenharmony_ci * Provides methods for managing bundle usage statistics,
2561847f8eSopenharmony_ci * including the methods for querying bundle usage information and state data.
2661847f8eSopenharmony_ci * <p>You can use the methods defined in this class to query
2761847f8eSopenharmony_ci * the usage history and states of bundles in a specified period.
2861847f8eSopenharmony_ci * The system stores the query result in a {@link BundleStateInfo} or {@link BundleActiveState} instance and
2961847f8eSopenharmony_ci * then returns it to you.
3061847f8eSopenharmony_ci *
3161847f8eSopenharmony_ci * @namespace bundleState
3261847f8eSopenharmony_ci * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
3361847f8eSopenharmony_ci * @since 7
3461847f8eSopenharmony_ci * @deprecated since 9
3561847f8eSopenharmony_ci * @useinstead ohos.resourceschedule.usageStatistics
3661847f8eSopenharmony_ci */
3761847f8eSopenharmony_cideclare namespace bundleState {
3861847f8eSopenharmony_ci  /**
3961847f8eSopenharmony_ci   * @interface BundleStateInfo
4061847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
4161847f8eSopenharmony_ci   * @since 7
4261847f8eSopenharmony_ci   * @deprecated since 9
4361847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.usageStatistics.BundleStatsInfo
4461847f8eSopenharmony_ci   */
4561847f8eSopenharmony_ci  interface BundleStateInfo {
4661847f8eSopenharmony_ci    /**
4761847f8eSopenharmony_ci     * The identifier of BundleStateInfo.
4861847f8eSopenharmony_ci     * @type { number }
4961847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
5061847f8eSopenharmony_ci     * @since 7
5161847f8eSopenharmony_ci     * @deprecated since 9
5261847f8eSopenharmony_ci     */
5361847f8eSopenharmony_ci    id: number;
5461847f8eSopenharmony_ci    /**
5561847f8eSopenharmony_ci     * The total duration, in milliseconds.
5661847f8eSopenharmony_ci     * @type { ?number }
5761847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
5861847f8eSopenharmony_ci     * @since 7
5961847f8eSopenharmony_ci     * @deprecated since 9
6061847f8eSopenharmony_ci     */
6161847f8eSopenharmony_ci    abilityInFgTotalTime?: number;
6261847f8eSopenharmony_ci    /**
6361847f8eSopenharmony_ci     * The last time when the application was accessed, in milliseconds.
6461847f8eSopenharmony_ci     * @type { ?number }
6561847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
6661847f8eSopenharmony_ci     * @since 7
6761847f8eSopenharmony_ci     * @deprecated since 9
6861847f8eSopenharmony_ci     */
6961847f8eSopenharmony_ci    abilityPrevAccessTime?: number;
7061847f8eSopenharmony_ci    /**
7161847f8eSopenharmony_ci     * The last time when the application was visible in the foreground, in milliseconds.
7261847f8eSopenharmony_ci     * @type { ?number }
7361847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
7461847f8eSopenharmony_ci     * @since 7
7561847f8eSopenharmony_ci     * @deprecated since 9
7661847f8eSopenharmony_ci     */
7761847f8eSopenharmony_ci    abilityPrevSeenTime?: number;
7861847f8eSopenharmony_ci    /**
7961847f8eSopenharmony_ci     * The total duration, in milliseconds.
8061847f8eSopenharmony_ci     * @type { ?number }
8161847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
8261847f8eSopenharmony_ci     * @since 7
8361847f8eSopenharmony_ci     * @deprecated since 9
8461847f8eSopenharmony_ci     */
8561847f8eSopenharmony_ci    abilitySeenTotalTime?: number;
8661847f8eSopenharmony_ci    /**
8761847f8eSopenharmony_ci     * The bundle name of the application.
8861847f8eSopenharmony_ci     * @type { ?string }
8961847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
9061847f8eSopenharmony_ci     * @since 7
9161847f8eSopenharmony_ci     * @deprecated since 9
9261847f8eSopenharmony_ci     */
9361847f8eSopenharmony_ci    bundleName?: string;
9461847f8eSopenharmony_ci    /**
9561847f8eSopenharmony_ci     * The total duration, in milliseconds.
9661847f8eSopenharmony_ci     * @type { ?number }
9761847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
9861847f8eSopenharmony_ci     * @since 7
9961847f8eSopenharmony_ci     * @deprecated since 9
10061847f8eSopenharmony_ci     */
10161847f8eSopenharmony_ci    fgAbilityAccessTotalTime?: number;
10261847f8eSopenharmony_ci    /**
10361847f8eSopenharmony_ci     * The last time when the foreground application was accessed, in milliseconds.
10461847f8eSopenharmony_ci     * @type { ?number }
10561847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
10661847f8eSopenharmony_ci     * @since 7
10761847f8eSopenharmony_ci     * @deprecated since 9
10861847f8eSopenharmony_ci     */
10961847f8eSopenharmony_ci    fgAbilityPrevAccessTime?: number;
11061847f8eSopenharmony_ci    /**
11161847f8eSopenharmony_ci     * The time of the first bundle usage record in this {@code BundleActiveInfo} object,
11261847f8eSopenharmony_ci     * in milliseconds.
11361847f8eSopenharmony_ci     * @type { ?number }
11461847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
11561847f8eSopenharmony_ci     * @since 7
11661847f8eSopenharmony_ci     * @deprecated since 9
11761847f8eSopenharmony_ci     */
11861847f8eSopenharmony_ci    infosBeginTime?: number;
11961847f8eSopenharmony_ci    /**
12061847f8eSopenharmony_ci     * The time of the last bundle usage record in this {@code BundleActiveInfo} object,
12161847f8eSopenharmony_ci     * in milliseconds.
12261847f8eSopenharmony_ci     * @type { ?number }
12361847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
12461847f8eSopenharmony_ci     * @since 7
12561847f8eSopenharmony_ci     * @deprecated since 9
12661847f8eSopenharmony_ci     */
12761847f8eSopenharmony_ci    infosEndTime?: number;
12861847f8eSopenharmony_ci
12961847f8eSopenharmony_ci    /**
13061847f8eSopenharmony_ci     * Merges a specified {@link BundleActiveInfo} object with this {@link BundleActiveInfo} object.
13161847f8eSopenharmony_ci     * The bundle name of both objects must be the same.
13261847f8eSopenharmony_ci     *
13361847f8eSopenharmony_ci     * @param { BundleStateInfo } toMerge Indicates the {@link BundleActiveInfo} object to merge.
13461847f8eSopenharmony_ci     * If the bundle names of the two {@link BundleActiveInfo} objects are different.
13561847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
13661847f8eSopenharmony_ci     * @since 7
13761847f8eSopenharmony_ci     * @deprecated since 9
13861847f8eSopenharmony_ci     */
13961847f8eSopenharmony_ci    merge(toMerge: BundleStateInfo): void;
14061847f8eSopenharmony_ci  }
14161847f8eSopenharmony_ci
14261847f8eSopenharmony_ci  /**
14361847f8eSopenharmony_ci   * @typedef BundleActiveState
14461847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
14561847f8eSopenharmony_ci   * @since 7
14661847f8eSopenharmony_ci   * @deprecated since 9
14761847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.usageStatistics.BundleEvents
14861847f8eSopenharmony_ci   */
14961847f8eSopenharmony_ci  interface BundleActiveState {
15061847f8eSopenharmony_ci    /**
15161847f8eSopenharmony_ci     * The usage priority group of the application.
15261847f8eSopenharmony_ci     * @type { ?number }
15361847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
15461847f8eSopenharmony_ci     * @since 7
15561847f8eSopenharmony_ci     * @deprecated since 9
15661847f8eSopenharmony_ci     */
15761847f8eSopenharmony_ci    appUsagePriorityGroup?: number;
15861847f8eSopenharmony_ci    /**
15961847f8eSopenharmony_ci     * The bundle name.
16061847f8eSopenharmony_ci     * @type { ?string }
16161847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
16261847f8eSopenharmony_ci     * @since 7
16361847f8eSopenharmony_ci     * @deprecated since 9
16461847f8eSopenharmony_ci     */
16561847f8eSopenharmony_ci    bundleName?: string;
16661847f8eSopenharmony_ci    /**
16761847f8eSopenharmony_ci     * The shortcut ID.
16861847f8eSopenharmony_ci     * @type { ?string }
16961847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
17061847f8eSopenharmony_ci     * @since 7
17161847f8eSopenharmony_ci     * @deprecated since 9
17261847f8eSopenharmony_ci     */
17361847f8eSopenharmony_ci    indexOfLink?: string;
17461847f8eSopenharmony_ci    /**
17561847f8eSopenharmony_ci     * The class name.
17661847f8eSopenharmony_ci     * @type { ?string }
17761847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
17861847f8eSopenharmony_ci     * @since 7
17961847f8eSopenharmony_ci     * @deprecated since 9
18061847f8eSopenharmony_ci     */
18161847f8eSopenharmony_ci    nameOfClass?: string;
18261847f8eSopenharmony_ci    /**
18361847f8eSopenharmony_ci     * The time when this state occurred, in milliseconds.
18461847f8eSopenharmony_ci     * @type { ?number }
18561847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
18661847f8eSopenharmony_ci     * @since 7
18761847f8eSopenharmony_ci     * @deprecated since 9
18861847f8eSopenharmony_ci     */
18961847f8eSopenharmony_ci    stateOccurredTime?: number;
19061847f8eSopenharmony_ci    /**
19161847f8eSopenharmony_ci     * The state type.
19261847f8eSopenharmony_ci     * @type { ?number }
19361847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
19461847f8eSopenharmony_ci     * @since 7
19561847f8eSopenharmony_ci     * @deprecated since 9
19661847f8eSopenharmony_ci     */
19761847f8eSopenharmony_ci    stateType?: number;
19861847f8eSopenharmony_ci  }
19961847f8eSopenharmony_ci
20061847f8eSopenharmony_ci  /**
20161847f8eSopenharmony_ci   * Checks whether the application with a specified bundle name is in the idle state.
20261847f8eSopenharmony_ci   *
20361847f8eSopenharmony_ci   * @param { string } bundleName Indicates the bundle name of the application to query.
20461847f8eSopenharmony_ci   * @param { AsyncCallback<boolean> } callback - the callback of isIdleState.
20561847f8eSopenharmony_ci   * <p> boolean value is true mean the application is idle in a particular period; false mean otherwise.
20661847f8eSopenharmony_ci   * The time range of the particular period is defined by the system, which may be hours or days.</p>
20761847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
20861847f8eSopenharmony_ci   * @since 7
20961847f8eSopenharmony_ci   * @deprecated since 9
21061847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.usageStatistics.isIdleState
21161847f8eSopenharmony_ci   */
21261847f8eSopenharmony_ci  function isIdleState(bundleName: string, callback: AsyncCallback<boolean>): void;
21361847f8eSopenharmony_ci
21461847f8eSopenharmony_ci  /**
21561847f8eSopenharmony_ci   * Checks whether the application with a specified bundle name is in the idle state.
21661847f8eSopenharmony_ci   *
21761847f8eSopenharmony_ci   * @param { string } bundleName Indicates the bundle name of the application to query.
21861847f8eSopenharmony_ci   * @returns { Promise<boolean> } the promise returned by isIdleState.
21961847f8eSopenharmony_ci   * <p> boolean value is true mean the application is idle in a particular period; false mean otherwise.
22061847f8eSopenharmony_ci   * The time range of the particular period is defined by the system, which may be hours or days.</p>
22161847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
22261847f8eSopenharmony_ci   * @since 7
22361847f8eSopenharmony_ci   * @deprecated since 9
22461847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.usageStatistics.isIdleState
22561847f8eSopenharmony_ci   */
22661847f8eSopenharmony_ci  function isIdleState(bundleName: string): Promise<boolean>;
22761847f8eSopenharmony_ci
22861847f8eSopenharmony_ci  /**
22961847f8eSopenharmony_ci   * Queries the usage priority group of the calling application.
23061847f8eSopenharmony_ci   * <p>The priority defined in a priority group restricts the resource usage of an application,
23161847f8eSopenharmony_ci   * for example, restricting the running of background tasks. </p>
23261847f8eSopenharmony_ci   *
23361847f8eSopenharmony_ci   * @param { AsyncCallback<number> } callback - the callback of queryAppUsagePriorityGroup.
23461847f8eSopenharmony_ci   * <p> Returns the app group of the calling application.</p>
23561847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
23661847f8eSopenharmony_ci   * @since 7
23761847f8eSopenharmony_ci   * @deprecated since 9
23861847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.usageStatistics.queryAppGroup
23961847f8eSopenharmony_ci   */
24061847f8eSopenharmony_ci  function queryAppUsagePriorityGroup(callback: AsyncCallback<number>): void;
24161847f8eSopenharmony_ci
24261847f8eSopenharmony_ci  /**
24361847f8eSopenharmony_ci   * Queries the usage priority group of the calling application.
24461847f8eSopenharmony_ci   * <p>The priority defined in a priority group restricts the resource usage of an application,
24561847f8eSopenharmony_ci   * for example, restricting the running of background tasks. </p>
24661847f8eSopenharmony_ci   *
24761847f8eSopenharmony_ci   * @returns { Promise<number> } the promise returned by queryAppUsagePriorityGroup.
24861847f8eSopenharmony_ci   * <p> Returns the app group of the calling application.</p>
24961847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.UsageStatistics.AppGroup
25061847f8eSopenharmony_ci   * @since 7
25161847f8eSopenharmony_ci   * @deprecated since 9
25261847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.usageStatistics.queryAppGroup
25361847f8eSopenharmony_ci   */
25461847f8eSopenharmony_ci  function queryAppUsagePriorityGroup(): Promise<number>;
25561847f8eSopenharmony_ci
25661847f8eSopenharmony_ci  /**
25761847f8eSopenharmony_ci   * @typedef BundleActiveInfoResponse
25861847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
25961847f8eSopenharmony_ci   * @since 7
26061847f8eSopenharmony_ci   * @deprecated since 9
26161847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.usageStatistics.BundleStatsMap
26261847f8eSopenharmony_ci   */
26361847f8eSopenharmony_ci  interface BundleActiveInfoResponse {
26461847f8eSopenharmony_ci    [key: string]: BundleStateInfo;
26561847f8eSopenharmony_ci  }
26661847f8eSopenharmony_ci
26761847f8eSopenharmony_ci  /**
26861847f8eSopenharmony_ci   * Queries usage information about each bundle within a specified period.
26961847f8eSopenharmony_ci   * <p>This method queries usage information at the {@link #BY_OPTIMIZED} interval by default.</p>
27061847f8eSopenharmony_ci   *
27161847f8eSopenharmony_ci   * @permission ohos.permission.BUNDLE_ACTIVE_INFO
27261847f8eSopenharmony_ci   * @param { number } begin Indicates the start time of the query period, in milliseconds.
27361847f8eSopenharmony_ci   * @param { number } end Indicates the end time of the query period, in milliseconds.
27461847f8eSopenharmony_ci   * @param { AsyncCallback<BundleActiveInfoResponse> } callback - the callback of queryBundleStateInfos.
27561847f8eSopenharmony_ci   * <p> the {@link BundleActiveInfoResponse} objects containing the usage information about each bundle.</p>
27661847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
27761847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
27861847f8eSopenharmony_ci   * @since 7
27961847f8eSopenharmony_ci   * @deprecated since 9
28061847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.usageStatistics.queryBundleStatsInfos
28161847f8eSopenharmony_ci   */
28261847f8eSopenharmony_ci  function queryBundleStateInfos(begin: number, end: number, callback: AsyncCallback<BundleActiveInfoResponse>): void;
28361847f8eSopenharmony_ci
28461847f8eSopenharmony_ci  /**
28561847f8eSopenharmony_ci   * Queries usage information about each bundle within a specified period.
28661847f8eSopenharmony_ci   * <p>This method queries usage information at the {@link #BY_OPTIMIZED} interval by default.</p>
28761847f8eSopenharmony_ci   *
28861847f8eSopenharmony_ci   * @permission ohos.permission.BUNDLE_ACTIVE_INFO
28961847f8eSopenharmony_ci   * @param { number } begin Indicates the start time of the query period, in milliseconds.
29061847f8eSopenharmony_ci   * @param { number } end Indicates the end time of the query period, in milliseconds.
29161847f8eSopenharmony_ci   * @returns { Promise<BundleActiveInfoResponse> } the promise returned by queryBundleStatsInfos.
29261847f8eSopenharmony_ci   * <p> the {@link BundleActiveInfoResponse} objects containing the usage information about each bundle.</p>
29361847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
29461847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
29561847f8eSopenharmony_ci   * @since 7
29661847f8eSopenharmony_ci   * @deprecated since 9
29761847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.usageStatistics.queryBundleStatsInfos
29861847f8eSopenharmony_ci   */
29961847f8eSopenharmony_ci  function queryBundleStateInfos(begin: number, end: number): Promise<BundleActiveInfoResponse>;
30061847f8eSopenharmony_ci
30161847f8eSopenharmony_ci  /**
30261847f8eSopenharmony_ci   * Declares interval type.
30361847f8eSopenharmony_ci   *
30461847f8eSopenharmony_ci   * @enum { number }
30561847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
30661847f8eSopenharmony_ci   * @since 7
30761847f8eSopenharmony_ci   * @deprecated since 9
30861847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.usageStatistics.IntervalType
30961847f8eSopenharmony_ci   */
31061847f8eSopenharmony_ci  export enum IntervalType {
31161847f8eSopenharmony_ci    /**
31261847f8eSopenharmony_ci     * Indicates the interval type that will determine the optimal interval based on the start and end time.
31361847f8eSopenharmony_ci     *
31461847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
31561847f8eSopenharmony_ci     * @since 7
31661847f8eSopenharmony_ci     * @deprecated since 9
31761847f8eSopenharmony_ci     */
31861847f8eSopenharmony_ci    BY_OPTIMIZED = 0,
31961847f8eSopenharmony_ci
32061847f8eSopenharmony_ci    /**
32161847f8eSopenharmony_ci     * Indicates the daily interval.
32261847f8eSopenharmony_ci     *
32361847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
32461847f8eSopenharmony_ci     * @since 7
32561847f8eSopenharmony_ci     * @deprecated since 9
32661847f8eSopenharmony_ci     */
32761847f8eSopenharmony_ci    BY_DAILY = 1,
32861847f8eSopenharmony_ci
32961847f8eSopenharmony_ci    /**
33061847f8eSopenharmony_ci     * Indicates the weekly interval.
33161847f8eSopenharmony_ci     *
33261847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
33361847f8eSopenharmony_ci     * @since 7
33461847f8eSopenharmony_ci     * @deprecated since 9
33561847f8eSopenharmony_ci     */
33661847f8eSopenharmony_ci    BY_WEEKLY = 2,
33761847f8eSopenharmony_ci
33861847f8eSopenharmony_ci    /**
33961847f8eSopenharmony_ci     * Indicates the monthly interval.
34061847f8eSopenharmony_ci     *
34161847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
34261847f8eSopenharmony_ci     * @since 7
34361847f8eSopenharmony_ci     * @deprecated since 9
34461847f8eSopenharmony_ci     */
34561847f8eSopenharmony_ci    BY_MONTHLY = 3,
34661847f8eSopenharmony_ci
34761847f8eSopenharmony_ci    /**
34861847f8eSopenharmony_ci     * Indicates the annually interval.
34961847f8eSopenharmony_ci     *
35061847f8eSopenharmony_ci     * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
35161847f8eSopenharmony_ci     * @since 7
35261847f8eSopenharmony_ci     * @deprecated since 9
35361847f8eSopenharmony_ci     */
35461847f8eSopenharmony_ci    BY_ANNUALLY = 4
35561847f8eSopenharmony_ci  }
35661847f8eSopenharmony_ci
35761847f8eSopenharmony_ci  /**
35861847f8eSopenharmony_ci   * Queries usage information about each bundle within a specified period at a specified interval.
35961847f8eSopenharmony_ci   *
36061847f8eSopenharmony_ci   * @permission ohos.permission.BUNDLE_ACTIVE_INFO
36161847f8eSopenharmony_ci   * @param { IntervalType } byInterval Indicates the interval at which the usage statistics are queried.
36261847f8eSopenharmony_ci   * <p>The value can be {@link #BY_OPTIMIZED}, {@link #BY_DAILY},
36361847f8eSopenharmony_ci   * {@link #BY_WEEKLY}, {@link #BY_MONTHLY}, or {@link #BY_ANNUALLY}.</p>
36461847f8eSopenharmony_ci   * @param { number } begin Indicates the start time of the query period, in milliseconds.
36561847f8eSopenharmony_ci   * @param { number } end Indicates the end time of the query period, in milliseconds.
36661847f8eSopenharmony_ci   * @param { AsyncCallback<Array<BundleStateInfo>> } callback - the callback of usage information about each bundle.
36761847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
36861847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
36961847f8eSopenharmony_ci   * @since 7
37061847f8eSopenharmony_ci   * @deprecated since 9
37161847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.usageStatistics.queryBundleStatsInfoByInterval
37261847f8eSopenharmony_ci   */
37361847f8eSopenharmony_ci  function queryBundleStateInfoByInterval(
37461847f8eSopenharmony_ci    byInterval: IntervalType,
37561847f8eSopenharmony_ci    begin: number,
37661847f8eSopenharmony_ci    end: number,
37761847f8eSopenharmony_ci    callback: AsyncCallback<Array<BundleStateInfo>>
37861847f8eSopenharmony_ci  ): void;
37961847f8eSopenharmony_ci
38061847f8eSopenharmony_ci  /**
38161847f8eSopenharmony_ci   * Queries usage information about each bundle within a specified period at a specified interval.
38261847f8eSopenharmony_ci   *
38361847f8eSopenharmony_ci   * @permission ohos.permission.BUNDLE_ACTIVE_INFO
38461847f8eSopenharmony_ci   * @param { IntervalType } byInterval Indicates the interval at which the usage statistics are queried.
38561847f8eSopenharmony_ci   * <p>The value can be {@link #BY_OPTIMIZED}, {@link #BY_DAILY},
38661847f8eSopenharmony_ci   * {@link #BY_WEEKLY}, {@link #BY_MONTHLY}, or {@link #BY_ANNUALLY}.</p>
38761847f8eSopenharmony_ci   * @param { number } begin Indicates the start time of the query period, in milliseconds.
38861847f8eSopenharmony_ci   * @param { number } end Indicates the end time of the query period, in milliseconds.
38961847f8eSopenharmony_ci   * @returns { Promise<Array<BundleStateInfo>> } the usage information about each bundle.
39061847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
39161847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
39261847f8eSopenharmony_ci   * @since 7
39361847f8eSopenharmony_ci   * @deprecated since 9
39461847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.usageStatistics.queryBundleStatsInfoByInterval
39561847f8eSopenharmony_ci   */
39661847f8eSopenharmony_ci  function queryBundleStateInfoByInterval(
39761847f8eSopenharmony_ci    byInterval: IntervalType,
39861847f8eSopenharmony_ci    begin: number,
39961847f8eSopenharmony_ci    end: number
40061847f8eSopenharmony_ci  ): Promise<Array<BundleStateInfo>>;
40161847f8eSopenharmony_ci
40261847f8eSopenharmony_ci  /**
40361847f8eSopenharmony_ci   * Queries state data of all bundles within a specified period identified by the start and end time.
40461847f8eSopenharmony_ci   *
40561847f8eSopenharmony_ci   * @permission ohos.permission.BUNDLE_ACTIVE_INFO
40661847f8eSopenharmony_ci   * @param { number } begin Indicates the start time of the query period, in milliseconds.
40761847f8eSopenharmony_ci   * @param { number } end Indicates the end time of the query period, in milliseconds.
40861847f8eSopenharmony_ci   * @param { AsyncCallback<Array<BundleActiveState>> } callback - the state data of all bundles.
40961847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
41061847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
41161847f8eSopenharmony_ci   * @since 7
41261847f8eSopenharmony_ci   * @deprecated since 9
41361847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.usageStatistics.queryBundleEvents
41461847f8eSopenharmony_ci   */
41561847f8eSopenharmony_ci  function queryBundleActiveStates(begin: number, end: number, callback: AsyncCallback<Array<BundleActiveState>>): void;
41661847f8eSopenharmony_ci
41761847f8eSopenharmony_ci  /**
41861847f8eSopenharmony_ci   * Queries state data of all bundles within a specified period identified by the start and end time.
41961847f8eSopenharmony_ci   *
42061847f8eSopenharmony_ci   * @permission ohos.permission.BUNDLE_ACTIVE_INFO
42161847f8eSopenharmony_ci   * @param { number } begin Indicates the start time of the query period, in milliseconds.
42261847f8eSopenharmony_ci   * @param { number } end Indicates the end time of the query period, in milliseconds.
42361847f8eSopenharmony_ci   * @returns { Promise<Array<BundleActiveState>> } the state data of all bundles.
42461847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
42561847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
42661847f8eSopenharmony_ci   * @since 7
42761847f8eSopenharmony_ci   * @deprecated since 9
42861847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.usageStatistics.queryBundleEvents
42961847f8eSopenharmony_ci   */
43061847f8eSopenharmony_ci  function queryBundleActiveStates(begin: number, end: number): Promise<Array<BundleActiveState>>;
43161847f8eSopenharmony_ci
43261847f8eSopenharmony_ci  /**
43361847f8eSopenharmony_ci   * Queries state data of the current bundle within a specified period.
43461847f8eSopenharmony_ci   *
43561847f8eSopenharmony_ci   * @param { number } begin Indicates the start time of the query period, in milliseconds.
43661847f8eSopenharmony_ci   * @param { number } end Indicates the end time of the query period, in milliseconds.
43761847f8eSopenharmony_ci   * @param { AsyncCallback<Array<BundleActiveState>> } callback - the state data of the current bundle.
43861847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
43961847f8eSopenharmony_ci   * @since 7
44061847f8eSopenharmony_ci   * @deprecated since 9
44161847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.usageStatistics.queryCurrentBundleEvents
44261847f8eSopenharmony_ci   */
44361847f8eSopenharmony_ci  function queryCurrentBundleActiveStates(
44461847f8eSopenharmony_ci    begin: number,
44561847f8eSopenharmony_ci    end: number,
44661847f8eSopenharmony_ci    callback: AsyncCallback<Array<BundleActiveState>>
44761847f8eSopenharmony_ci  ): void;
44861847f8eSopenharmony_ci
44961847f8eSopenharmony_ci  /**
45061847f8eSopenharmony_ci   * Queries state data of the current bundle within a specified period.
45161847f8eSopenharmony_ci   *
45261847f8eSopenharmony_ci   * @param { number } begin Indicates the start time of the query period, in milliseconds.
45361847f8eSopenharmony_ci   * @param { number } end Indicates the end time of the query period, in milliseconds.
45461847f8eSopenharmony_ci   * @returns { Promise<Array<BundleActiveState>> } the state data of the current bundle.
45561847f8eSopenharmony_ci   * @syscap SystemCapability.ResourceSchedule.UsageStatistics.App
45661847f8eSopenharmony_ci   * @since 7
45761847f8eSopenharmony_ci   * @deprecated since 9
45861847f8eSopenharmony_ci   * @useinstead ohos.resourceschedule.usageStatistics.queryCurrentBundleEvents
45961847f8eSopenharmony_ci   */
46061847f8eSopenharmony_ci  function queryCurrentBundleActiveStates(begin: number, end: number): Promise<Array<BundleActiveState>>;
46161847f8eSopenharmony_ci}
46261847f8eSopenharmony_ci
46361847f8eSopenharmony_ciexport default bundleState;
464