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 { AutoStartupInfo } from './AutoStartupInfo';
22
23/**
24 * The class of auto startup callback.
25 *
26 * @typedef AutoStartupCallback
27 * @syscap SystemCapability.Ability.AbilityRuntime.Core
28 * @systemapi
29 * @StageModelOnly
30 * @since 11
31 */
32export interface AutoStartupCallback {
33  /**
34   * When the application's auto startup state is set to on, this function is called.
35   *
36   * @param { AutoStartupInfo } info - Auto startup info.
37   * @syscap SystemCapability.Ability.AbilityRuntime.Core
38   * @systemapi
39   * @StageModelOnly
40   * @since 11
41   */
42  onAutoStartupOn(info: AutoStartupInfo): void;
43
44  /**
45   * When the application's auto startup state is set to off, this function is called.
46   *
47   * @param { AutoStartupInfo } info - Auto startup info.
48   * @syscap SystemCapability.Ability.AbilityRuntime.Core
49   * @systemapi
50   * @StageModelOnly
51   * @since 11
52   */
53  onAutoStartupOff(info: AutoStartupInfo): void;
54}
55
56export default AutoStartupCallback;
57