/* * Copyright (c) 2023-2024 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"), * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @file * @kit AbilityKit */ import Want from './@ohos.app.ability.Want'; import type wantConstant from './@ohos.app.ability.wantConstant'; /** * interface of insightIntent. * * @namespace insightIntent * @syscap SystemCapability.Ability.AbilityRuntime.Core * @StageModelOnly * @atomicservice * @since arkts {'1.1':'11', '1.2':'20'} * @arkts 1.1&1.2 */ declare namespace insightIntent { /** * Enum for supported execute mode. * * @enum { number } * @syscap SystemCapability.Ability.AbilityRuntime.Core * @StageModelOnly * @atomicservice * @since arkts {'1.1':'11', '1.2':'20'} * @arkts 1.1&1.2 */ enum ExecuteMode { /** * UIAbility foreground. * * @syscap SystemCapability.Ability.AbilityRuntime.Core * @StageModelOnly * @atomicservice * @since arkts {'1.1':'11', '1.2':'20'} * @arkts 1.1&1.2 */ UI_ABILITY_FOREGROUND = 0, /** * UIAbility background. * * @syscap SystemCapability.Ability.AbilityRuntime.Core * @StageModelOnly * @atomicservice * @since arkts {'1.1':'11', '1.2':'20'} * @arkts 1.1&1.2 */ UI_ABILITY_BACKGROUND = 1, /** * UIExtensionAbility. * * @syscap SystemCapability.Ability.AbilityRuntime.Core * @StageModelOnly * @since arkts {'1.1':'11', '1.2':'20'} * @arkts 1.1&1.2 */ UI_EXTENSION_ABILITY = 2, /** * ServiceExtensionAbility. * * @syscap SystemCapability.Ability.AbilityRuntime.Core * @systemapi * @StageModelOnly * @since arkts {'1.1':'11', '1.2':'20'} * @arkts 1.1&1.2 */ SERVICE_EXTENSION_ABILITY = 3, } /** * Result of intent execution. * * @typedef ExecuteResult * @syscap SystemCapability.Ability.AbilityRuntime.Core * @StageModelOnly * @atomicservice * @since arkts {'1.1':'11', '1.2':'20'} * @arkts 1.1&1.2 */ interface ExecuteResult { /** * Indicates result code. * * @type { number } * @syscap SystemCapability.Ability.AbilityRuntime.Core * @StageModelOnly * @atomicservice * @since arkts {'1.1':'11', '1.2':'20'} * @arkts 1.1&1.2 */ code: number; /** * Indicates execute result. * * @type { ?Record } * @syscap SystemCapability.Ability.AbilityRuntime.Core * @StageModelOnly * @atomicservice * @since arkts {'1.1':'11', '1.2':'20'} * @arkts 1.1&1.2 */ result?: Record; /** * Indicates the URIs will be authorized to the insight intent driver. * * @type { ?Array } * @syscap SystemCapability.Ability.AbilityRuntime.Core * @stagemodelonly * @atomicservice * @since arkts {'1.1':'18', '1.2':'20'} * @arkts 1.1&1.2 */ uris?: Array; /** * Indicates the URIs read and write permissions which consistent with {@link Want#flags}, * flags must be one of {@link wantConstant#Flags#FLAG_AUTH_READ_URI_PERMISSION}, * {@link wantConstant#Flags#FLAG_AUTH_WRITE_URI_PERMISSION}, * {@link wantConstant#Flags#FLAG_AUTH_READ_URI_PERMISSION}| * {@link wantConstant#Flags#FLAG_AUTH_WRITE_URI_PERMISSION}. * * @type { ?number } * @syscap SystemCapability.Ability.AbilityRuntime.Core * @stagemodelonly * @atomicservice * @since arkts {'1.1':'18', '1.2':'20'} * @arkts 1.1&1.2 */ flags?: number; } /** * Define IntentEntity. * * @interface IntentEntity * @syscap SystemCapability.Ability.AbilityRuntime.Core * @stagemodelonly * @atomicservice * @since 20 */ interface IntentEntity { /** * The entity Id. * * @type { string } * @syscap SystemCapability.Ability.AbilityRuntime.Core * @stagemodelonly * @atomicservice * @since 20 */ entityId: string; } /** * The class of insight intent result. * * @interface IntentResult * @syscap SystemCapability.Ability.AbilityRuntime.Core * @stagemodelonly * @atomicservice * @since 20 */ interface IntentResult { /** * The result code. * * @type { number } * @syscap SystemCapability.Ability.AbilityRuntime.Core * @stagemodelonly * @atomicservice * @since 20 */ code: number; /** * The insight intent result. * * @type { ?T } * @syscap SystemCapability.Ability.AbilityRuntime.Core * @stagemodelonly * @atomicservice * @since 20 */ result?: T; } } export default insightIntent;