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 } from './@ohos.base';
2261847f8eSopenharmony_ciimport notification from './@ohos.notificationManager';
2361847f8eSopenharmony_ciimport { NotificationSlot } from './notification/notificationSlot';
2461847f8eSopenharmony_ciimport { ValuesBucket } from './@ohos.data.ValuesBucket';
2561847f8eSopenharmony_ci
2661847f8eSopenharmony_ci/**
2761847f8eSopenharmony_ci * Providers static methods for managing reminders, including publishing or canceling a reminder.
2861847f8eSopenharmony_ci * Add or remove a notification slot, and obtain or cancel all reminders of the current application.
2961847f8eSopenharmony_ci *
3061847f8eSopenharmony_ci * @namespace reminderAgentManager
3161847f8eSopenharmony_ci * @syscap SystemCapability.Notification.ReminderAgent
3261847f8eSopenharmony_ci * @since 9
3361847f8eSopenharmony_ci */
3461847f8eSopenharmony_cideclare namespace reminderAgentManager {
3561847f8eSopenharmony_ci  /**
3661847f8eSopenharmony_ci   * Publishes a scheduled reminder.
3761847f8eSopenharmony_ci   * 
3861847f8eSopenharmony_ci   * @permission ohos.permission.PUBLISH_AGENT_REMINDER
3961847f8eSopenharmony_ci   * @param { ReminderRequest } reminderReq - Indicates the reminder instance to publish.
4061847f8eSopenharmony_ci   * @param { AsyncCallback<number> } callback - Indicates the callback function.
4161847f8eSopenharmony_ci   * @throws { BusinessError } 401 - If the input parameter is not valid parameter.
4261847f8eSopenharmony_ci   * @throws { BusinessError } 1700001 - Notification is not enabled.
4361847f8eSopenharmony_ci   * @throws { BusinessError } 1700002 - The number of reminders exceeds the limit.
4461847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
4561847f8eSopenharmony_ci   * @since 9
4661847f8eSopenharmony_ci   */
4761847f8eSopenharmony_ci  function publishReminder(reminderReq: ReminderRequest, callback: AsyncCallback<number>): void;
4861847f8eSopenharmony_ci
4961847f8eSopenharmony_ci  /**
5061847f8eSopenharmony_ci   * Publishes a scheduled reminder.
5161847f8eSopenharmony_ci   *
5261847f8eSopenharmony_ci   * @permission ohos.permission.PUBLISH_AGENT_REMINDER
5361847f8eSopenharmony_ci   * @param { ReminderRequest } reminderReq - Indicates the reminder instance to publish.
5461847f8eSopenharmony_ci   * @returns { Promise<number> } The reminder id.
5561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - If the input parameter is not valid parameter.
5661847f8eSopenharmony_ci   * @throws { BusinessError } 1700001 - Notification is not enabled.
5761847f8eSopenharmony_ci   * @throws { BusinessError } 1700002 - The number of reminders exceeds the limit.
5861847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
5961847f8eSopenharmony_ci   * @since 9
6061847f8eSopenharmony_ci   */
6161847f8eSopenharmony_ci  function publishReminder(reminderReq: ReminderRequest): Promise<number>;
6261847f8eSopenharmony_ci
6361847f8eSopenharmony_ci  /**
6461847f8eSopenharmony_ci   * Cancel a reminder.
6561847f8eSopenharmony_ci   *
6661847f8eSopenharmony_ci   * @param { number } reminderId - Indicates the reminder id.
6761847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - Indicates the callback function.
6861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - If the input parameter is not valid parameter.
6961847f8eSopenharmony_ci   * @throws { BusinessError } 1700003 - The reminder does not exist.
7061847f8eSopenharmony_ci   * @throws { BusinessError } 1700004 - The bundle name does not exist.
7161847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
7261847f8eSopenharmony_ci   * @since 9
7361847f8eSopenharmony_ci   */
7461847f8eSopenharmony_ci  function cancelReminder(reminderId: number, callback: AsyncCallback<void>): void;
7561847f8eSopenharmony_ci
7661847f8eSopenharmony_ci  /**
7761847f8eSopenharmony_ci   * Cancel a reminder.
7861847f8eSopenharmony_ci   *
7961847f8eSopenharmony_ci   * @param { number } reminderId - Indicates the reminder id.
8061847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the function.
8161847f8eSopenharmony_ci   * @throws { BusinessError } 401 - If the input parameter is not valid parameter.
8261847f8eSopenharmony_ci   * @throws { BusinessError } 1700003 - The reminder does not exist.
8361847f8eSopenharmony_ci   * @throws { BusinessError } 1700004 - The bundle name does not exist.
8461847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
8561847f8eSopenharmony_ci   * @since 9
8661847f8eSopenharmony_ci   */
8761847f8eSopenharmony_ci  function cancelReminder(reminderId: number): Promise<void>;
8861847f8eSopenharmony_ci
8961847f8eSopenharmony_ci  /**
9061847f8eSopenharmony_ci   * Obtains all the valid reminders of current application.
9161847f8eSopenharmony_ci   *
9261847f8eSopenharmony_ci   * @param { AsyncCallback<Array<ReminderRequest>> } callback - Indicates the callback function.
9361847f8eSopenharmony_ci   * @throws { BusinessError } 401 - If the input parameter is not valid parameter.
9461847f8eSopenharmony_ci   * @throws { BusinessError } 1700004 - The bundle name does not exist.
9561847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
9661847f8eSopenharmony_ci   * @since 9
9761847f8eSopenharmony_ci   */
9861847f8eSopenharmony_ci  function getValidReminders(callback: AsyncCallback<Array<ReminderRequest>>): void;
9961847f8eSopenharmony_ci
10061847f8eSopenharmony_ci  /**
10161847f8eSopenharmony_ci   * Obtains all the valid reminders of current application.
10261847f8eSopenharmony_ci   *
10361847f8eSopenharmony_ci   * @returns { Promise<Array<ReminderRequest>> } The promise returned by the function.
10461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - If the input parameter is not valid parameter.
10561847f8eSopenharmony_ci   * @throws { BusinessError } 1700004 - The bundle name does not exist.
10661847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
10761847f8eSopenharmony_ci   * @since 9
10861847f8eSopenharmony_ci   */
10961847f8eSopenharmony_ci  function getValidReminders(): Promise<Array<ReminderRequest>>;
11061847f8eSopenharmony_ci
11161847f8eSopenharmony_ci  /**
11261847f8eSopenharmony_ci   * Cancel all the reminders of current application.
11361847f8eSopenharmony_ci   *
11461847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - Indicates the callback function.
11561847f8eSopenharmony_ci   * @throws { BusinessError } 401 - If the input parameter is not valid parameter.
11661847f8eSopenharmony_ci   * @throws { BusinessError } 1700004 - The bundle name does not exist.
11761847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
11861847f8eSopenharmony_ci   * @since 9
11961847f8eSopenharmony_ci   */
12061847f8eSopenharmony_ci  function cancelAllReminders(callback: AsyncCallback<void>): void;
12161847f8eSopenharmony_ci
12261847f8eSopenharmony_ci  /**
12361847f8eSopenharmony_ci   * Cancel all the reminders of current application.
12461847f8eSopenharmony_ci   *
12561847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the function.
12661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - If the input parameter is not valid parameter.
12761847f8eSopenharmony_ci   * @throws { BusinessError } 1700004 - The bundle name does not exist.
12861847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
12961847f8eSopenharmony_ci   * @since 9
13061847f8eSopenharmony_ci   */
13161847f8eSopenharmony_ci  function cancelAllReminders(): Promise<void>;
13261847f8eSopenharmony_ci
13361847f8eSopenharmony_ci  /**
13461847f8eSopenharmony_ci   * Add notification slot.
13561847f8eSopenharmony_ci   *
13661847f8eSopenharmony_ci   * @param { NotificationSlot } slot - Indicates the slot.
13761847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - Indicates the callback function.
13861847f8eSopenharmony_ci   * @throws { BusinessError } 401 - If the input parameter is not valid parameter.
13961847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
14061847f8eSopenharmony_ci   * @since 9
14161847f8eSopenharmony_ci   */
14261847f8eSopenharmony_ci  function addNotificationSlot(slot: NotificationSlot, callback: AsyncCallback<void>): void;
14361847f8eSopenharmony_ci
14461847f8eSopenharmony_ci  /**
14561847f8eSopenharmony_ci   * Add notification slot.
14661847f8eSopenharmony_ci   *
14761847f8eSopenharmony_ci   * @param { NotificationSlot } slot - Indicates the slot.
14861847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the function.
14961847f8eSopenharmony_ci   * @throws { BusinessError } 401 - If the input parameter is not valid parameter.
15061847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
15161847f8eSopenharmony_ci   * @since 9
15261847f8eSopenharmony_ci   */
15361847f8eSopenharmony_ci  function addNotificationSlot(slot: NotificationSlot): Promise<void>;
15461847f8eSopenharmony_ci
15561847f8eSopenharmony_ci  /**
15661847f8eSopenharmony_ci   * Deletes a created notification slot based on the slot type.
15761847f8eSopenharmony_ci   *
15861847f8eSopenharmony_ci   * @param { notification.SlotType } slotType Indicates the type of the slot.
15961847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback - Indicates the callback function.
16061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - If the input parameter is not valid parameter.
16161847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
16261847f8eSopenharmony_ci   * @since 9
16361847f8eSopenharmony_ci   */
16461847f8eSopenharmony_ci  function removeNotificationSlot(slotType: notification.SlotType, callback: AsyncCallback<void>): void;
16561847f8eSopenharmony_ci
16661847f8eSopenharmony_ci  /**
16761847f8eSopenharmony_ci   * Deletes a created notification slot based on the slot type.
16861847f8eSopenharmony_ci   *
16961847f8eSopenharmony_ci   * @param { notification.SlotType } slotType Indicates the type of the slot.
17061847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the function.
17161847f8eSopenharmony_ci   * @throws { BusinessError } 401 - If the input parameter is not valid parameter.
17261847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
17361847f8eSopenharmony_ci   * @since 9
17461847f8eSopenharmony_ci   */
17561847f8eSopenharmony_ci  function removeNotificationSlot(slotType: notification.SlotType): Promise<void>;
17661847f8eSopenharmony_ci  
17761847f8eSopenharmony_ci  /**
17861847f8eSopenharmony_ci   * add exclude date for calendar reminder request.
17961847f8eSopenharmony_ci   *
18061847f8eSopenharmony_ci   * @param { number } reminderId reminder id
18161847f8eSopenharmony_ci   * @param { Date } date date time
18261847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the function.
18361847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied
18461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - If the input parameter is not valid parameter.
18561847f8eSopenharmony_ci   * @throws { BusinessError } 1700003 - The reminder does not exist.
18661847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
18761847f8eSopenharmony_ci   * @since 12
18861847f8eSopenharmony_ci   */
18961847f8eSopenharmony_ci  function addExcludeDate(reminderId: number, date: Date): Promise<void>;
19061847f8eSopenharmony_ci  
19161847f8eSopenharmony_ci  /**
19261847f8eSopenharmony_ci   * delete exclude date for calendar reminder request.
19361847f8eSopenharmony_ci   *
19461847f8eSopenharmony_ci   * @param { number } reminderId reminder id
19561847f8eSopenharmony_ci   * @returns { Promise<void> } The promise returned by the function.
19661847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied
19761847f8eSopenharmony_ci   * @throws { BusinessError } 1700003 - The reminder does not exist.
19861847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
19961847f8eSopenharmony_ci   * @since 12
20061847f8eSopenharmony_ci   */
20161847f8eSopenharmony_ci  function deleteExcludeDates(reminderId: number): Promise<void>;
20261847f8eSopenharmony_ci  
20361847f8eSopenharmony_ci  /**
20461847f8eSopenharmony_ci   * get exclude dates
20561847f8eSopenharmony_ci   *
20661847f8eSopenharmony_ci   * @param { number } reminderId reminder id
20761847f8eSopenharmony_ci   * @returns { Promise<Array<Date>> } The promise returned by the function.
20861847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied
20961847f8eSopenharmony_ci   * @throws { BusinessError } 1700003 - The reminder does not exist.
21061847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
21161847f8eSopenharmony_ci   * @since 12
21261847f8eSopenharmony_ci   */
21361847f8eSopenharmony_ci  function getExcludeDates(reminderId: number): Promise<Array<Date>>;
21461847f8eSopenharmony_ci
21561847f8eSopenharmony_ci  /**
21661847f8eSopenharmony_ci   * Obtains all the valid reminders of current application, include reminderId.
21761847f8eSopenharmony_ci   *
21861847f8eSopenharmony_ci   * @returns { Promise<Array<ReminderInfo>> } The promise returned by the function.
21961847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
22061847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
22161847f8eSopenharmony_ci   * @since 12
22261847f8eSopenharmony_ci   */
22361847f8eSopenharmony_ci  function getAllValidReminders(): Promise<Array<ReminderInfo>>;
22461847f8eSopenharmony_ci
22561847f8eSopenharmony_ci  /**
22661847f8eSopenharmony_ci   * Declares action button type.
22761847f8eSopenharmony_ci   *
22861847f8eSopenharmony_ci   * @enum { number }
22961847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
23061847f8eSopenharmony_ci   * @since 9
23161847f8eSopenharmony_ci   */
23261847f8eSopenharmony_ci  export enum ActionButtonType {
23361847f8eSopenharmony_ci    /**
23461847f8eSopenharmony_ci     * Button for closing the reminder.
23561847f8eSopenharmony_ci     *
23661847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
23761847f8eSopenharmony_ci     * @since 9
23861847f8eSopenharmony_ci     */
23961847f8eSopenharmony_ci    ACTION_BUTTON_TYPE_CLOSE = 0,
24061847f8eSopenharmony_ci
24161847f8eSopenharmony_ci    /**
24261847f8eSopenharmony_ci     * Button for snoozing the reminder.
24361847f8eSopenharmony_ci     *
24461847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
24561847f8eSopenharmony_ci     * @since 9
24661847f8eSopenharmony_ci     */
24761847f8eSopenharmony_ci    ACTION_BUTTON_TYPE_SNOOZE = 1,
24861847f8eSopenharmony_ci
24961847f8eSopenharmony_ci    /**
25061847f8eSopenharmony_ci     * The custom button.
25161847f8eSopenharmony_ci     *
25261847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
25361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
25461847f8eSopenharmony_ci     * @since 10
25561847f8eSopenharmony_ci     */
25661847f8eSopenharmony_ci    ACTION_BUTTON_TYPE_CUSTOM = 2
25761847f8eSopenharmony_ci  }
25861847f8eSopenharmony_ci
25961847f8eSopenharmony_ci  /**
26061847f8eSopenharmony_ci   * Declares reminder type.
26161847f8eSopenharmony_ci   *
26261847f8eSopenharmony_ci   * @enum { number }
26361847f8eSopenharmony_ci   *
26461847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
26561847f8eSopenharmony_ci   * @since 9
26661847f8eSopenharmony_ci   */
26761847f8eSopenharmony_ci  export enum ReminderType {
26861847f8eSopenharmony_ci    /**
26961847f8eSopenharmony_ci     * Countdown reminder.
27061847f8eSopenharmony_ci     *
27161847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
27261847f8eSopenharmony_ci     * @since 9
27361847f8eSopenharmony_ci     */
27461847f8eSopenharmony_ci    REMINDER_TYPE_TIMER = 0,
27561847f8eSopenharmony_ci
27661847f8eSopenharmony_ci    /**
27761847f8eSopenharmony_ci     * Calendar reminder.
27861847f8eSopenharmony_ci     *
27961847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
28061847f8eSopenharmony_ci     * @since 9
28161847f8eSopenharmony_ci     */
28261847f8eSopenharmony_ci    REMINDER_TYPE_CALENDAR = 1,
28361847f8eSopenharmony_ci
28461847f8eSopenharmony_ci    /**
28561847f8eSopenharmony_ci     * Alarm reminder.
28661847f8eSopenharmony_ci     *
28761847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
28861847f8eSopenharmony_ci     * @since 9
28961847f8eSopenharmony_ci     */
29061847f8eSopenharmony_ci    REMINDER_TYPE_ALARM = 2
29161847f8eSopenharmony_ci  }
29261847f8eSopenharmony_ci
29361847f8eSopenharmony_ci  /**
29461847f8eSopenharmony_ci   * Action button information. The button will show on displayed reminder.
29561847f8eSopenharmony_ci   *
29661847f8eSopenharmony_ci   * @interface ActionButton
29761847f8eSopenharmony_ci   *
29861847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
29961847f8eSopenharmony_ci   * @since 9
30061847f8eSopenharmony_ci   */
30161847f8eSopenharmony_ci  interface ActionButton {
30261847f8eSopenharmony_ci    /**
30361847f8eSopenharmony_ci     * Text on the button.
30461847f8eSopenharmony_ci     *
30561847f8eSopenharmony_ci     * @type { string }
30661847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
30761847f8eSopenharmony_ci     * @since 9
30861847f8eSopenharmony_ci     */
30961847f8eSopenharmony_ci    title: string;
31061847f8eSopenharmony_ci
31161847f8eSopenharmony_ci    /**
31261847f8eSopenharmony_ci     * Resource ID for button title.
31361847f8eSopenharmony_ci     * 
31461847f8eSopenharmony_ci     * @type { ?string }
31561847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
31661847f8eSopenharmony_ci     * @since 11
31761847f8eSopenharmony_ci     */
31861847f8eSopenharmony_ci    titleResource?: string;
31961847f8eSopenharmony_ci
32061847f8eSopenharmony_ci    /**
32161847f8eSopenharmony_ci     * Button type.
32261847f8eSopenharmony_ci     *
32361847f8eSopenharmony_ci     * @type { ActionButtonType }
32461847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
32561847f8eSopenharmony_ci     * @since 9
32661847f8eSopenharmony_ci     */
32761847f8eSopenharmony_ci    type: ActionButtonType;
32861847f8eSopenharmony_ci
32961847f8eSopenharmony_ci    /**
33061847f8eSopenharmony_ci     * Information about the ability that is redirected to when the button is clicked.
33161847f8eSopenharmony_ci     *
33261847f8eSopenharmony_ci     * @type { ?WantAgent }
33361847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
33461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
33561847f8eSopenharmony_ci     * @since 10
33661847f8eSopenharmony_ci     */
33761847f8eSopenharmony_ci    wantAgent?: WantAgent;
33861847f8eSopenharmony_ci
33961847f8eSopenharmony_ci    /**
34061847f8eSopenharmony_ci     * It will update the database when the button is clicked.
34161847f8eSopenharmony_ci     *
34261847f8eSopenharmony_ci     * @type { ?DataShareUpdate }
34361847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
34461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
34561847f8eSopenharmony_ci     * @since 11
34661847f8eSopenharmony_ci     */
34761847f8eSopenharmony_ci    dataShareUpdate?: DataShareUpdate;
34861847f8eSopenharmony_ci  }
34961847f8eSopenharmony_ci
35061847f8eSopenharmony_ci  /**
35161847f8eSopenharmony_ci   * Want agent information.
35261847f8eSopenharmony_ci   * It will switch to target ability when you click the displayed reminder.
35361847f8eSopenharmony_ci   *
35461847f8eSopenharmony_ci   * @interface WantAgent
35561847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
35661847f8eSopenharmony_ci   * @since 9
35761847f8eSopenharmony_ci   */
35861847f8eSopenharmony_ci  interface WantAgent {
35961847f8eSopenharmony_ci    /**
36061847f8eSopenharmony_ci     * Name of the package redirected to when the reminder notification is clicked.
36161847f8eSopenharmony_ci     *
36261847f8eSopenharmony_ci     * @type { string }
36361847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
36461847f8eSopenharmony_ci     * @since 9
36561847f8eSopenharmony_ci     */
36661847f8eSopenharmony_ci    pkgName: string;
36761847f8eSopenharmony_ci
36861847f8eSopenharmony_ci    /**
36961847f8eSopenharmony_ci     * Name of the ability that is redirected to when the reminder notification is clicked.
37061847f8eSopenharmony_ci     *
37161847f8eSopenharmony_ci     * @type { string }
37261847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
37361847f8eSopenharmony_ci     * @since 9
37461847f8eSopenharmony_ci     */
37561847f8eSopenharmony_ci    abilityName: string;
37661847f8eSopenharmony_ci
37761847f8eSopenharmony_ci    /**
37861847f8eSopenharmony_ci     * The Uniform Resource Identifier (URI) that will be redirected to.
37961847f8eSopenharmony_ci     *
38061847f8eSopenharmony_ci     * @type { ?string }
38161847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
38261847f8eSopenharmony_ci     * @since 12
38361847f8eSopenharmony_ci     */
38461847f8eSopenharmony_ci    uri?: string;
38561847f8eSopenharmony_ci	
38661847f8eSopenharmony_ci    /**
38761847f8eSopenharmony_ci     * The description of the WantParams object in an Want
38861847f8eSopenharmony_ci     *
38961847f8eSopenharmony_ci     * @type { ?Record<string, Object> }
39061847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
39161847f8eSopenharmony_ci     * @since 12
39261847f8eSopenharmony_ci     */
39361847f8eSopenharmony_ci    parameters?: Record<string, Object>;
39461847f8eSopenharmony_ci  }
39561847f8eSopenharmony_ci
39661847f8eSopenharmony_ci  /**
39761847f8eSopenharmony_ci   * DataShareUpdate information.
39861847f8eSopenharmony_ci   * It will update the database when the button is clicked.
39961847f8eSopenharmony_ci   *
40061847f8eSopenharmony_ci   * @interface DataShareUpdate
40161847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
40261847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
40361847f8eSopenharmony_ci   * @since 11
40461847f8eSopenharmony_ci   */
40561847f8eSopenharmony_ci  interface DataShareUpdate {
40661847f8eSopenharmony_ci    /**
40761847f8eSopenharmony_ci     * Indicates the path of data to update.
40861847f8eSopenharmony_ci     *
40961847f8eSopenharmony_ci     * @type { string }
41061847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
41161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
41261847f8eSopenharmony_ci     * @since 11
41361847f8eSopenharmony_ci     */
41461847f8eSopenharmony_ci    uri: string;
41561847f8eSopenharmony_ci
41661847f8eSopenharmony_ci    /**
41761847f8eSopenharmony_ci     * Indicates filter criteria.
41861847f8eSopenharmony_ci     *
41961847f8eSopenharmony_ci     * @type { Record<string, number | string | boolean> }
42061847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
42161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
42261847f8eSopenharmony_ci     * @since 11
42361847f8eSopenharmony_ci     */
42461847f8eSopenharmony_ci    equalTo: Record<string, number | string | boolean>;
42561847f8eSopenharmony_ci
42661847f8eSopenharmony_ci    /**
42761847f8eSopenharmony_ci     * Indicates the data to update. This parameter can be null.
42861847f8eSopenharmony_ci     *
42961847f8eSopenharmony_ci     * @type { ValuesBucket }
43061847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
43161847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
43261847f8eSopenharmony_ci     * @since 11
43361847f8eSopenharmony_ci     */
43461847f8eSopenharmony_ci    value: ValuesBucket;
43561847f8eSopenharmony_ci  }
43661847f8eSopenharmony_ci
43761847f8eSopenharmony_ci  /**
43861847f8eSopenharmony_ci   * Max screen want agent information.
43961847f8eSopenharmony_ci   *
44061847f8eSopenharmony_ci   * @interface MaxScreenWantAgent
44161847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
44261847f8eSopenharmony_ci   * @since 9
44361847f8eSopenharmony_ci   */
44461847f8eSopenharmony_ci  interface MaxScreenWantAgent {
44561847f8eSopenharmony_ci    /**
44661847f8eSopenharmony_ci     * Name of the package that is automatically started when the reminder arrives and the device is not in use.
44761847f8eSopenharmony_ci     *
44861847f8eSopenharmony_ci     * @type { string }
44961847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
45061847f8eSopenharmony_ci     * @since 9
45161847f8eSopenharmony_ci     */
45261847f8eSopenharmony_ci    pkgName: string;
45361847f8eSopenharmony_ci
45461847f8eSopenharmony_ci    /**
45561847f8eSopenharmony_ci     * Name of the ability that is automatically started when the reminder arrives and the device is not in use.
45661847f8eSopenharmony_ci     *
45761847f8eSopenharmony_ci     * @type { string }
45861847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
45961847f8eSopenharmony_ci     * @since 9
46061847f8eSopenharmony_ci     */
46161847f8eSopenharmony_ci    abilityName: string;
46261847f8eSopenharmony_ci  }
46361847f8eSopenharmony_ci
46461847f8eSopenharmony_ci  /**
46561847f8eSopenharmony_ci   * Reminder Common information.
46661847f8eSopenharmony_ci   *
46761847f8eSopenharmony_ci   * @interface ReminderRequest
46861847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
46961847f8eSopenharmony_ci   * @since 9
47061847f8eSopenharmony_ci   */
47161847f8eSopenharmony_ci  interface ReminderRequest {
47261847f8eSopenharmony_ci    /**
47361847f8eSopenharmony_ci     * Type of the reminder.
47461847f8eSopenharmony_ci     *
47561847f8eSopenharmony_ci     * @type { ReminderType }
47661847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
47761847f8eSopenharmony_ci     * @since 9
47861847f8eSopenharmony_ci     */
47961847f8eSopenharmony_ci    reminderType: ReminderType;
48061847f8eSopenharmony_ci
48161847f8eSopenharmony_ci    /**
48261847f8eSopenharmony_ci     * Action button displayed on the reminder notification.
48361847f8eSopenharmony_ci     * (The parameter is optional. Up to two buttons are supported).
48461847f8eSopenharmony_ci     *
48561847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
48661847f8eSopenharmony_ci     * @since 9
48761847f8eSopenharmony_ci     */
48861847f8eSopenharmony_ci    /**
48961847f8eSopenharmony_ci     * Action button displayed on the reminder notification.
49061847f8eSopenharmony_ci     * (The parameter is optional. Up to three buttons are supported).
49161847f8eSopenharmony_ci     *
49261847f8eSopenharmony_ci     * @type { ?[ActionButton?, ActionButton?, ActionButton?] }
49361847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
49461847f8eSopenharmony_ci     * @since 10
49561847f8eSopenharmony_ci     */
49661847f8eSopenharmony_ci    actionButton?: [ActionButton?, ActionButton?, ActionButton?];
49761847f8eSopenharmony_ci
49861847f8eSopenharmony_ci    /**
49961847f8eSopenharmony_ci     * Information about the ability that is redirected to when the notification is clicked.
50061847f8eSopenharmony_ci     *
50161847f8eSopenharmony_ci     * @type { ?WantAgent }
50261847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
50361847f8eSopenharmony_ci     * @since 9
50461847f8eSopenharmony_ci     */
50561847f8eSopenharmony_ci    wantAgent?: WantAgent;
50661847f8eSopenharmony_ci
50761847f8eSopenharmony_ci    /**
50861847f8eSopenharmony_ci     * Information about the ability that is automatically started when the reminder arrives.
50961847f8eSopenharmony_ci     * If the device is in use, a notification will be displayed.
51061847f8eSopenharmony_ci     *
51161847f8eSopenharmony_ci     * @type { ?MaxScreenWantAgent }
51261847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
51361847f8eSopenharmony_ci     * @since 9
51461847f8eSopenharmony_ci     */
51561847f8eSopenharmony_ci    maxScreenWantAgent?: MaxScreenWantAgent;
51661847f8eSopenharmony_ci
51761847f8eSopenharmony_ci    /**
51861847f8eSopenharmony_ci     * Ringing duration.
51961847f8eSopenharmony_ci     *
52061847f8eSopenharmony_ci     * @type { ?number }
52161847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
52261847f8eSopenharmony_ci     * @since 9
52361847f8eSopenharmony_ci     */
52461847f8eSopenharmony_ci    ringDuration?: number;
52561847f8eSopenharmony_ci
52661847f8eSopenharmony_ci    /**
52761847f8eSopenharmony_ci     * Number of reminder snooze times.
52861847f8eSopenharmony_ci     *
52961847f8eSopenharmony_ci     * @type { ?number }
53061847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
53161847f8eSopenharmony_ci     * @since 9
53261847f8eSopenharmony_ci     */
53361847f8eSopenharmony_ci    snoozeTimes?: number;
53461847f8eSopenharmony_ci
53561847f8eSopenharmony_ci    /**
53661847f8eSopenharmony_ci     * Reminder snooze interval.
53761847f8eSopenharmony_ci     *
53861847f8eSopenharmony_ci     * @type { ?number }
53961847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
54061847f8eSopenharmony_ci     * @since 9
54161847f8eSopenharmony_ci     */
54261847f8eSopenharmony_ci    timeInterval?: number;
54361847f8eSopenharmony_ci
54461847f8eSopenharmony_ci    /**
54561847f8eSopenharmony_ci     * Reminder title.
54661847f8eSopenharmony_ci     *
54761847f8eSopenharmony_ci     * @type { ?string }
54861847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
54961847f8eSopenharmony_ci     * @since 9
55061847f8eSopenharmony_ci     */
55161847f8eSopenharmony_ci    title?: string;
55261847f8eSopenharmony_ci
55361847f8eSopenharmony_ci    /**
55461847f8eSopenharmony_ci     * Reminder content.
55561847f8eSopenharmony_ci     *
55661847f8eSopenharmony_ci     * @type { ?string }
55761847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
55861847f8eSopenharmony_ci     * @since 9
55961847f8eSopenharmony_ci     */
56061847f8eSopenharmony_ci    content?: string;
56161847f8eSopenharmony_ci
56261847f8eSopenharmony_ci    /**
56361847f8eSopenharmony_ci     * Content to be displayed when the reminder is expired.
56461847f8eSopenharmony_ci     *
56561847f8eSopenharmony_ci     * @type { ?string }
56661847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
56761847f8eSopenharmony_ci     * @since 9
56861847f8eSopenharmony_ci     */
56961847f8eSopenharmony_ci    expiredContent?: string;
57061847f8eSopenharmony_ci
57161847f8eSopenharmony_ci    /**
57261847f8eSopenharmony_ci     * Content to be displayed when the reminder is snoozing.
57361847f8eSopenharmony_ci     *
57461847f8eSopenharmony_ci     * @type { ?string }
57561847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
57661847f8eSopenharmony_ci     * @since 9
57761847f8eSopenharmony_ci     */
57861847f8eSopenharmony_ci    snoozeContent?: string;
57961847f8eSopenharmony_ci
58061847f8eSopenharmony_ci    /**
58161847f8eSopenharmony_ci     * Notification id. If there are reminders with the same ID, the later one will overwrite the earlier one.
58261847f8eSopenharmony_ci     *
58361847f8eSopenharmony_ci     * @type { ?number }
58461847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
58561847f8eSopenharmony_ci     * @since 9
58661847f8eSopenharmony_ci     */
58761847f8eSopenharmony_ci    notificationId?: number;
58861847f8eSopenharmony_ci
58961847f8eSopenharmony_ci    /**
59061847f8eSopenharmony_ci     * If the same group ID is set for reminders, these reminders are canceled together.
59161847f8eSopenharmony_ci     *
59261847f8eSopenharmony_ci     * @type { ?string }
59361847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
59461847f8eSopenharmony_ci     * @since 11
59561847f8eSopenharmony_ci     */
59661847f8eSopenharmony_ci    groupId?: string;
59761847f8eSopenharmony_ci
59861847f8eSopenharmony_ci    /**
59961847f8eSopenharmony_ci     * Type of the slot used by the reminder.
60061847f8eSopenharmony_ci     *
60161847f8eSopenharmony_ci     * @type { ?notification.SlotType }
60261847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
60361847f8eSopenharmony_ci     * @since 9
60461847f8eSopenharmony_ci     */
60561847f8eSopenharmony_ci    slotType?: notification.SlotType;
60661847f8eSopenharmony_ci
60761847f8eSopenharmony_ci    /**
60861847f8eSopenharmony_ci     * Whether the notification is automatically cleared.
60961847f8eSopenharmony_ci     *
61061847f8eSopenharmony_ci     * @type { ?boolean }
61161847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
61261847f8eSopenharmony_ci     * @since 10
61361847f8eSopenharmony_ci     */
61461847f8eSopenharmony_ci    tapDismissed?: boolean;
61561847f8eSopenharmony_ci
61661847f8eSopenharmony_ci    /**
61761847f8eSopenharmony_ci     * Time when the notification is automatically cleared.
61861847f8eSopenharmony_ci     *
61961847f8eSopenharmony_ci     * @type { ?number }
62061847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
62161847f8eSopenharmony_ci     * @since 10
62261847f8eSopenharmony_ci     */
62361847f8eSopenharmony_ci    autoDeletedTime?: number;
62461847f8eSopenharmony_ci     
62561847f8eSopenharmony_ci    /**
62661847f8eSopenharmony_ci     * Type of the snoozeSlot used by the reminder.
62761847f8eSopenharmony_ci     *
62861847f8eSopenharmony_ci     * @type { ?notification.SlotType }
62961847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
63061847f8eSopenharmony_ci     * @since 11
63161847f8eSopenharmony_ci     */
63261847f8eSopenharmony_ci    snoozeSlotType?: notification.SlotType;
63361847f8eSopenharmony_ci
63461847f8eSopenharmony_ci    /**
63561847f8eSopenharmony_ci     * The directory of storing reminder announcements.
63661847f8eSopenharmony_ci     *
63761847f8eSopenharmony_ci     * @type { ?string }
63861847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
63961847f8eSopenharmony_ci     * @since 11
64061847f8eSopenharmony_ci     */
64161847f8eSopenharmony_ci    customRingUri?: string;
64261847f8eSopenharmony_ci  }
64361847f8eSopenharmony_ci
64461847f8eSopenharmony_ci  /**
64561847f8eSopenharmony_ci   * Calendar reminder information.
64661847f8eSopenharmony_ci   *
64761847f8eSopenharmony_ci   * @interface ReminderRequestCalendar
64861847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
64961847f8eSopenharmony_ci   * @since 9
65061847f8eSopenharmony_ci   */
65161847f8eSopenharmony_ci  interface ReminderRequestCalendar extends ReminderRequest {
65261847f8eSopenharmony_ci    /**
65361847f8eSopenharmony_ci     * Reminder time.
65461847f8eSopenharmony_ci     *
65561847f8eSopenharmony_ci     * @type { LocalDateTime }
65661847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
65761847f8eSopenharmony_ci     * @since 9
65861847f8eSopenharmony_ci     */
65961847f8eSopenharmony_ci    dateTime: LocalDateTime;
66061847f8eSopenharmony_ci
66161847f8eSopenharmony_ci    /**
66261847f8eSopenharmony_ci     * Month in which the reminder repeats.
66361847f8eSopenharmony_ci     *
66461847f8eSopenharmony_ci     * @type { ?Array<number> }
66561847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
66661847f8eSopenharmony_ci     * @since 9
66761847f8eSopenharmony_ci     */
66861847f8eSopenharmony_ci    repeatMonths?: Array<number>;
66961847f8eSopenharmony_ci
67061847f8eSopenharmony_ci    /**
67161847f8eSopenharmony_ci     * Date on which the reminder repeats.
67261847f8eSopenharmony_ci     *
67361847f8eSopenharmony_ci     * @type { ?Array<number> }
67461847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
67561847f8eSopenharmony_ci     * @since 9
67661847f8eSopenharmony_ci     */
67761847f8eSopenharmony_ci    repeatDays?: Array<number>;
67861847f8eSopenharmony_ci
67961847f8eSopenharmony_ci    /**
68061847f8eSopenharmony_ci     * Days of a week when the reminder repeats.
68161847f8eSopenharmony_ci     *
68261847f8eSopenharmony_ci     * @type { ?Array<number> }
68361847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
68461847f8eSopenharmony_ci     * @since 11
68561847f8eSopenharmony_ci     */
68661847f8eSopenharmony_ci    daysOfWeek?: Array<number>;
68761847f8eSopenharmony_ci
68861847f8eSopenharmony_ci    /**
68961847f8eSopenharmony_ci     * calendar end date time
69061847f8eSopenharmony_ci     *
69161847f8eSopenharmony_ci     * @type { ?LocalDateTime }
69261847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
69361847f8eSopenharmony_ci     * @since 12
69461847f8eSopenharmony_ci     */
69561847f8eSopenharmony_ci    endDateTime?: LocalDateTime;
69661847f8eSopenharmony_ci
69761847f8eSopenharmony_ci    /**
69861847f8eSopenharmony_ci     * For custom repeat calendar(RRule), the service extension will pull up when
69961847f8eSopenharmony_ci     * param set and the notification arrived.
70061847f8eSopenharmony_ci     *
70161847f8eSopenharmony_ci     * @type { ?WantAgent }
70261847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
70361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
70461847f8eSopenharmony_ci     * @since 12
70561847f8eSopenharmony_ci     */
70661847f8eSopenharmony_ci    rruleWantAgent?: WantAgent;
70761847f8eSopenharmony_ci  }
70861847f8eSopenharmony_ci
70961847f8eSopenharmony_ci  /**
71061847f8eSopenharmony_ci   * Alarm reminder information.
71161847f8eSopenharmony_ci   *
71261847f8eSopenharmony_ci   * @interface ReminderRequestAlarm
71361847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
71461847f8eSopenharmony_ci   * @since 9
71561847f8eSopenharmony_ci   */
71661847f8eSopenharmony_ci  interface ReminderRequestAlarm extends ReminderRequest {
71761847f8eSopenharmony_ci    /**
71861847f8eSopenharmony_ci     * Hour portion of the reminder time.
71961847f8eSopenharmony_ci     *
72061847f8eSopenharmony_ci     * @type { number }
72161847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
72261847f8eSopenharmony_ci     * @since 9
72361847f8eSopenharmony_ci     */
72461847f8eSopenharmony_ci    hour: number;
72561847f8eSopenharmony_ci
72661847f8eSopenharmony_ci    /**
72761847f8eSopenharmony_ci     * Minute portion of the reminder time.
72861847f8eSopenharmony_ci     *
72961847f8eSopenharmony_ci     * @type { number }
73061847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
73161847f8eSopenharmony_ci     * @since 9
73261847f8eSopenharmony_ci     */
73361847f8eSopenharmony_ci    minute: number;
73461847f8eSopenharmony_ci
73561847f8eSopenharmony_ci    /**
73661847f8eSopenharmony_ci     * Days of a week when the reminder repeats.
73761847f8eSopenharmony_ci     *
73861847f8eSopenharmony_ci     * @type { ?Array<number> }
73961847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
74061847f8eSopenharmony_ci     * @since 9
74161847f8eSopenharmony_ci     */
74261847f8eSopenharmony_ci    daysOfWeek?: Array<number>;
74361847f8eSopenharmony_ci  }
74461847f8eSopenharmony_ci
74561847f8eSopenharmony_ci  /**
74661847f8eSopenharmony_ci   * CountDown reminder information.
74761847f8eSopenharmony_ci   *
74861847f8eSopenharmony_ci   * @interface ReminderRequestTimer
74961847f8eSopenharmony_ci   *
75061847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
75161847f8eSopenharmony_ci   * @since 9
75261847f8eSopenharmony_ci   */
75361847f8eSopenharmony_ci  interface ReminderRequestTimer extends ReminderRequest {
75461847f8eSopenharmony_ci    /**
75561847f8eSopenharmony_ci     * The number of seconds to count down.
75661847f8eSopenharmony_ci     *
75761847f8eSopenharmony_ci     * @type { number }
75861847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
75961847f8eSopenharmony_ci     * @since 9
76061847f8eSopenharmony_ci     */
76161847f8eSopenharmony_ci    triggerTimeInSeconds: number;
76261847f8eSopenharmony_ci  }
76361847f8eSopenharmony_ci
76461847f8eSopenharmony_ci  /**
76561847f8eSopenharmony_ci   * Reminder information, include reminderId.
76661847f8eSopenharmony_ci   *
76761847f8eSopenharmony_ci   * @interface ReminderInfo
76861847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
76961847f8eSopenharmony_ci   * @since 12
77061847f8eSopenharmony_ci   */
77161847f8eSopenharmony_ci  interface ReminderInfo {
77261847f8eSopenharmony_ci    reminderId: number;
77361847f8eSopenharmony_ci
77461847f8eSopenharmony_ci    reminderReq: ReminderRequest;
77561847f8eSopenharmony_ci  }
77661847f8eSopenharmony_ci
77761847f8eSopenharmony_ci  /**
77861847f8eSopenharmony_ci   * Used for ReminderRequestCalendar when set the time.
77961847f8eSopenharmony_ci   *
78061847f8eSopenharmony_ci   * @interface LocalDateTime
78161847f8eSopenharmony_ci   * @syscap SystemCapability.Notification.ReminderAgent
78261847f8eSopenharmony_ci   * @since 9
78361847f8eSopenharmony_ci   */
78461847f8eSopenharmony_ci  interface LocalDateTime {
78561847f8eSopenharmony_ci    /**
78661847f8eSopenharmony_ci     * Value of year.
78761847f8eSopenharmony_ci     *
78861847f8eSopenharmony_ci     * @type { number }
78961847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
79061847f8eSopenharmony_ci     * @since 9
79161847f8eSopenharmony_ci     */
79261847f8eSopenharmony_ci    year: number;
79361847f8eSopenharmony_ci
79461847f8eSopenharmony_ci    /**
79561847f8eSopenharmony_ci     * Value of month.
79661847f8eSopenharmony_ci     *
79761847f8eSopenharmony_ci     * @type { number }
79861847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
79961847f8eSopenharmony_ci     * @since 9
80061847f8eSopenharmony_ci     */
80161847f8eSopenharmony_ci    month: number;
80261847f8eSopenharmony_ci
80361847f8eSopenharmony_ci    /**
80461847f8eSopenharmony_ci     * Value of day.
80561847f8eSopenharmony_ci     *
80661847f8eSopenharmony_ci     * @type { number }
80761847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
80861847f8eSopenharmony_ci     * @since 9
80961847f8eSopenharmony_ci     */
81061847f8eSopenharmony_ci    day: number;
81161847f8eSopenharmony_ci
81261847f8eSopenharmony_ci    /**
81361847f8eSopenharmony_ci     * Value of hour.
81461847f8eSopenharmony_ci     *
81561847f8eSopenharmony_ci     * @type { number }
81661847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
81761847f8eSopenharmony_ci     * @since 9
81861847f8eSopenharmony_ci     */
81961847f8eSopenharmony_ci    hour: number;
82061847f8eSopenharmony_ci
82161847f8eSopenharmony_ci    /**
82261847f8eSopenharmony_ci     * Value of minute.
82361847f8eSopenharmony_ci     *
82461847f8eSopenharmony_ci     * @type { number }
82561847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
82661847f8eSopenharmony_ci     * @since 9
82761847f8eSopenharmony_ci     */
82861847f8eSopenharmony_ci    minute: number;
82961847f8eSopenharmony_ci
83061847f8eSopenharmony_ci    /**
83161847f8eSopenharmony_ci     * Value of second.
83261847f8eSopenharmony_ci     *
83361847f8eSopenharmony_ci     * @type { ?number }
83461847f8eSopenharmony_ci     * @syscap SystemCapability.Notification.ReminderAgent
83561847f8eSopenharmony_ci     * @since 9
83661847f8eSopenharmony_ci     */
83761847f8eSopenharmony_ci    second?: number;
83861847f8eSopenharmony_ci  }
83961847f8eSopenharmony_ci}
84061847f8eSopenharmony_ciexport default reminderAgentManager;
841