161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci * Copyright (c) 2021-2024 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 Description of the notification channel
1861847f8eSopenharmony_ci * @kit NotificationKit
1961847f8eSopenharmony_ci */
2061847f8eSopenharmony_ci
2161847f8eSopenharmony_ciimport notification from '../@ohos.notification';
2261847f8eSopenharmony_ciimport type notificationManager from '../@ohos.notificationManager';
2361847f8eSopenharmony_ci
2461847f8eSopenharmony_ci/**
2561847f8eSopenharmony_ci * Describes a NotificationSlot instance.
2661847f8eSopenharmony_ci *
2761847f8eSopenharmony_ci * @typedef NotificationSlot
2861847f8eSopenharmony_ci * @syscap SystemCapability.Notification.Notification
2961847f8eSopenharmony_ci * @since 7
3061847f8eSopenharmony_ci */
3161847f8eSopenharmony_ciexport interface NotificationSlot {
3261847f8eSopenharmony_ci  /**
3361847f8eSopenharmony_ci   * Obtains the type of a notification slot.
3461847f8eSopenharmony_ci   *
3561847f8eSopenharmony_ci   * @type { ?notification.SlotType }
3661847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.Notification
3761847f8eSopenharmony_ci   * @since 7
3861847f8eSopenharmony_ci   * @deprecated since 11
3961847f8eSopenharmony_ci   * @useinstead NotificationSlot#notificationType
4061847f8eSopenharmony_ci   */
4161847f8eSopenharmony_ci  type?: notification.SlotType;
4261847f8eSopenharmony_ci
4361847f8eSopenharmony_ci  /**
4461847f8eSopenharmony_ci   * Notification slot type.
4561847f8eSopenharmony_ci   *
4661847f8eSopenharmony_ci   * @type { ?notificationManager.SlotType }
4761847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.Notification
4861847f8eSopenharmony_ci   * @since 11
4961847f8eSopenharmony_ci   */
5061847f8eSopenharmony_ci  notificationType?: notificationManager.SlotType;
5161847f8eSopenharmony_ci
5261847f8eSopenharmony_ci  /**
5361847f8eSopenharmony_ci   * Obtains the level of a notification slot
5461847f8eSopenharmony_ci   *
5561847f8eSopenharmony_ci   * @type { ?notification.SlotLevel }
5661847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.Notification
5761847f8eSopenharmony_ci   * @since 7
5861847f8eSopenharmony_ci   */
5961847f8eSopenharmony_ci  level?: notification.SlotLevel;
6061847f8eSopenharmony_ci
6161847f8eSopenharmony_ci  /**
6261847f8eSopenharmony_ci   * Obtains the description of a notification slot.
6361847f8eSopenharmony_ci   *
6461847f8eSopenharmony_ci   * @type { ?string }
6561847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.Notification
6661847f8eSopenharmony_ci   * @since 7
6761847f8eSopenharmony_ci   */
6861847f8eSopenharmony_ci  desc?: string;
6961847f8eSopenharmony_ci
7061847f8eSopenharmony_ci  /**
7161847f8eSopenharmony_ci   * Obtains the application icon badge status of a notification slot.
7261847f8eSopenharmony_ci   *
7361847f8eSopenharmony_ci   * @type { ?boolean }
7461847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.Notification
7561847f8eSopenharmony_ci   * @since 7
7661847f8eSopenharmony_ci   */
7761847f8eSopenharmony_ci  badgeFlag?: boolean;
7861847f8eSopenharmony_ci
7961847f8eSopenharmony_ci  /**
8061847f8eSopenharmony_ci   * Obtains whether DND mode is bypassed for a notification slot.
8161847f8eSopenharmony_ci   *
8261847f8eSopenharmony_ci   * @type { ?boolean }
8361847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.Notification
8461847f8eSopenharmony_ci   * @since 7
8561847f8eSopenharmony_ci   */
8661847f8eSopenharmony_ci  bypassDnd?: boolean;
8761847f8eSopenharmony_ci
8861847f8eSopenharmony_ci  /**
8961847f8eSopenharmony_ci   * Whether and how to display notifications on the lock screen.
9061847f8eSopenharmony_ci   *
9161847f8eSopenharmony_ci   * @type { ?number }
9261847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.Notification
9361847f8eSopenharmony_ci   * @since 7
9461847f8eSopenharmony_ci   */
9561847f8eSopenharmony_ci  lockscreenVisibility?: number;
9661847f8eSopenharmony_ci
9761847f8eSopenharmony_ci  /**
9861847f8eSopenharmony_ci   * Obtains the vibration status of the notification slot.
9961847f8eSopenharmony_ci   *
10061847f8eSopenharmony_ci   * @type { ?boolean }
10161847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.Notification
10261847f8eSopenharmony_ci   * @since 7
10361847f8eSopenharmony_ci   */
10461847f8eSopenharmony_ci  vibrationEnabled?: boolean;
10561847f8eSopenharmony_ci
10661847f8eSopenharmony_ci  /**
10761847f8eSopenharmony_ci   * Obtains the prompt tone of the notification slot.
10861847f8eSopenharmony_ci   *
10961847f8eSopenharmony_ci   * @type { ?string }
11061847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.Notification
11161847f8eSopenharmony_ci   * @since 7
11261847f8eSopenharmony_ci   */
11361847f8eSopenharmony_ci  sound?: string;
11461847f8eSopenharmony_ci
11561847f8eSopenharmony_ci  /**
11661847f8eSopenharmony_ci   * Obtains whether the notification light is enabled in a notification slot.
11761847f8eSopenharmony_ci   *
11861847f8eSopenharmony_ci   * @type { ?boolean }
11961847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.Notification
12061847f8eSopenharmony_ci   * @since 7
12161847f8eSopenharmony_ci   */
12261847f8eSopenharmony_ci  lightEnabled?: boolean;
12361847f8eSopenharmony_ci
12461847f8eSopenharmony_ci  /**
12561847f8eSopenharmony_ci   * Obtains the color of the notification light in a notification slot.
12661847f8eSopenharmony_ci   *
12761847f8eSopenharmony_ci   * @type { ?number }
12861847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.Notification
12961847f8eSopenharmony_ci   * @since 7
13061847f8eSopenharmony_ci   */
13161847f8eSopenharmony_ci  lightColor?: number;
13261847f8eSopenharmony_ci
13361847f8eSopenharmony_ci  /**
13461847f8eSopenharmony_ci   * Obtains the vibration style of notifications in this notification slot.
13561847f8eSopenharmony_ci   *
13661847f8eSopenharmony_ci   * @type { ?Array<number> }
13761847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.Notification
13861847f8eSopenharmony_ci   * @since 7
13961847f8eSopenharmony_ci   */
14061847f8eSopenharmony_ci  vibrationValues?: Array<number>;
14161847f8eSopenharmony_ci
14261847f8eSopenharmony_ci  /**
14361847f8eSopenharmony_ci   * Read-only enabled status in this notification slot.
14461847f8eSopenharmony_ci   *
14561847f8eSopenharmony_ci   * @type { ?boolean }
14661847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.Notification
14761847f8eSopenharmony_ci   * @since 9
14861847f8eSopenharmony_ci   */
14961847f8eSopenharmony_ci  readonly enabled?: boolean;
15061847f8eSopenharmony_ci
15161847f8eSopenharmony_ci  /**
15261847f8eSopenharmony_ci   * Obtains the notification reminder mode of the current notification entry.
15361847f8eSopenharmony_ci   *
15461847f8eSopenharmony_ci   * @type { ?number }
15561847f8eSopenharmony_ci   * @readonly
15661847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.Notification
15761847f8eSopenharmony_ci   * @systemapi
15861847f8eSopenharmony_ci   * @since 11
15961847f8eSopenharmony_ci   */
16061847f8eSopenharmony_ci  readonly reminderMode?: number;
16161847f8eSopenharmony_ci
16261847f8eSopenharmony_ci  /**
16361847f8eSopenharmony_ci   * Obtains channel information is authorized by the user.
16461847f8eSopenharmony_ci   *
16561847f8eSopenharmony_ci   * @type { ?number }
16661847f8eSopenharmony_ci   * @readonly
16761847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.Notification
16861847f8eSopenharmony_ci   * @systemapi
16961847f8eSopenharmony_ci   * @since 12
17061847f8eSopenharmony_ci   */
17161847f8eSopenharmony_ci  readonly authorizedStatus?: number;
17261847f8eSopenharmony_ci}
173