161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci * Copyright (c) 2023 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 UserAuthenticationKit
1961847f8eSopenharmony_ci */
2061847f8eSopenharmony_ci
2161847f8eSopenharmony_ciimport type { AsyncCallback } from './@ohos.base';
2261847f8eSopenharmony_ci
2361847f8eSopenharmony_ci/**
2461847f8eSopenharmony_ci * User authentication
2561847f8eSopenharmony_ci *
2661847f8eSopenharmony_ci * @namespace userAuth
2761847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core
2861847f8eSopenharmony_ci * @since 6
2961847f8eSopenharmony_ci */
3061847f8eSopenharmony_ci/**
3161847f8eSopenharmony_ci * User authentication
3261847f8eSopenharmony_ci *
3361847f8eSopenharmony_ci * @namespace userAuth
3461847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core
3561847f8eSopenharmony_ci * @atomicservice
3661847f8eSopenharmony_ci * @since 12
3761847f8eSopenharmony_ci */
3861847f8eSopenharmony_cideclare namespace userAuth {
3961847f8eSopenharmony_ci  /**
4061847f8eSopenharmony_ci   * The maximum allowable reuse duration is 300000 milliseconds.
4161847f8eSopenharmony_ci   *
4261847f8eSopenharmony_ci   * @constant
4361847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
4461847f8eSopenharmony_ci   * @atomicservice
4561847f8eSopenharmony_ci   * @since 12
4661847f8eSopenharmony_ci   */
4761847f8eSopenharmony_ci  const MAX_ALLOWABLE_REUSE_DURATION: 300000;
4861847f8eSopenharmony_ci
4961847f8eSopenharmony_ci  /**
5061847f8eSopenharmony_ci   * Enum for authentication result.
5161847f8eSopenharmony_ci   *
5261847f8eSopenharmony_ci   * @enum { number }
5361847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
5461847f8eSopenharmony_ci   * @since 6
5561847f8eSopenharmony_ci   * @deprecated since 8
5661847f8eSopenharmony_ci   * @useinstead ohos.userIAM.userAuth.ResultCode
5761847f8eSopenharmony_ci   */
5861847f8eSopenharmony_ci  export enum AuthenticationResult {
5961847f8eSopenharmony_ci    /**
6061847f8eSopenharmony_ci     * Indicates that the device does not support authentication.
6161847f8eSopenharmony_ci     *
6261847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
6361847f8eSopenharmony_ci     * @since 6
6461847f8eSopenharmony_ci     * @deprecated since 8
6561847f8eSopenharmony_ci     */
6661847f8eSopenharmony_ci    NO_SUPPORT = -1,
6761847f8eSopenharmony_ci
6861847f8eSopenharmony_ci    /**
6961847f8eSopenharmony_ci     * Indicates that authentication is success.
7061847f8eSopenharmony_ci     *
7161847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
7261847f8eSopenharmony_ci     * @since 6
7361847f8eSopenharmony_ci     * @deprecated since 8
7461847f8eSopenharmony_ci     */
7561847f8eSopenharmony_ci    SUCCESS = 0,
7661847f8eSopenharmony_ci
7761847f8eSopenharmony_ci    /**
7861847f8eSopenharmony_ci     * Indicates the authenticator fails to identify user.
7961847f8eSopenharmony_ci     *
8061847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
8161847f8eSopenharmony_ci     * @since 6
8261847f8eSopenharmony_ci     * @deprecated since 8
8361847f8eSopenharmony_ci     */
8461847f8eSopenharmony_ci    COMPARE_FAILURE = 1,
8561847f8eSopenharmony_ci
8661847f8eSopenharmony_ci    /**
8761847f8eSopenharmony_ci     * Indicates that authentication has been canceled.
8861847f8eSopenharmony_ci     *
8961847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
9061847f8eSopenharmony_ci     * @since 6
9161847f8eSopenharmony_ci     * @deprecated since 8
9261847f8eSopenharmony_ci     */
9361847f8eSopenharmony_ci    CANCELED = 2,
9461847f8eSopenharmony_ci
9561847f8eSopenharmony_ci    /**
9661847f8eSopenharmony_ci     * Indicates that authentication has timed out.
9761847f8eSopenharmony_ci     *
9861847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
9961847f8eSopenharmony_ci     * @since 6
10061847f8eSopenharmony_ci     * @deprecated since 8
10161847f8eSopenharmony_ci     */
10261847f8eSopenharmony_ci    TIMEOUT = 3,
10361847f8eSopenharmony_ci
10461847f8eSopenharmony_ci    /**
10561847f8eSopenharmony_ci     * Indicates a failure to open the camera.
10661847f8eSopenharmony_ci     *
10761847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
10861847f8eSopenharmony_ci     * @since 6
10961847f8eSopenharmony_ci     * @deprecated since 8
11061847f8eSopenharmony_ci     */
11161847f8eSopenharmony_ci    CAMERA_FAIL = 4,
11261847f8eSopenharmony_ci
11361847f8eSopenharmony_ci    /**
11461847f8eSopenharmony_ci     * Indicates that the authentication task is busy. Wait for a few seconds and try again.
11561847f8eSopenharmony_ci     *
11661847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
11761847f8eSopenharmony_ci     * @since 6
11861847f8eSopenharmony_ci     * @deprecated since 8
11961847f8eSopenharmony_ci     */
12061847f8eSopenharmony_ci    BUSY = 5,
12161847f8eSopenharmony_ci
12261847f8eSopenharmony_ci    /**
12361847f8eSopenharmony_ci     * Indicates incorrect parameters.
12461847f8eSopenharmony_ci     *
12561847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
12661847f8eSopenharmony_ci     * @since 6
12761847f8eSopenharmony_ci     * @deprecated since 8
12861847f8eSopenharmony_ci     */
12961847f8eSopenharmony_ci    INVALID_PARAMETERS = 6,
13061847f8eSopenharmony_ci
13161847f8eSopenharmony_ci    /**
13261847f8eSopenharmony_ci     * Indicates that the authenticator is locked.
13361847f8eSopenharmony_ci     *
13461847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
13561847f8eSopenharmony_ci     * @since 6
13661847f8eSopenharmony_ci     * @deprecated since 8
13761847f8eSopenharmony_ci     */
13861847f8eSopenharmony_ci    LOCKED = 7,
13961847f8eSopenharmony_ci
14061847f8eSopenharmony_ci    /**
14161847f8eSopenharmony_ci     * Indicates that the user has not enrolled the authenticator.
14261847f8eSopenharmony_ci     *
14361847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
14461847f8eSopenharmony_ci     * @since 6
14561847f8eSopenharmony_ci     * @deprecated since 8
14661847f8eSopenharmony_ci     */
14761847f8eSopenharmony_ci    NOT_ENROLLED = 8,
14861847f8eSopenharmony_ci
14961847f8eSopenharmony_ci    /**
15061847f8eSopenharmony_ci     * Indicates other errors.
15161847f8eSopenharmony_ci     *
15261847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
15361847f8eSopenharmony_ci     * @since 6
15461847f8eSopenharmony_ci     * @deprecated since 8
15561847f8eSopenharmony_ci     */
15661847f8eSopenharmony_ci    GENERAL_ERROR = 100
15761847f8eSopenharmony_ci  }
15861847f8eSopenharmony_ci
15961847f8eSopenharmony_ci  /**
16061847f8eSopenharmony_ci   * Auth types
16161847f8eSopenharmony_ci   *
16261847f8eSopenharmony_ci   * @typedef { 'ALL' | 'FACE_ONLY' }
16361847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
16461847f8eSopenharmony_ci   * @since 6
16561847f8eSopenharmony_ci   * @deprecated since 8
16661847f8eSopenharmony_ci   */
16761847f8eSopenharmony_ci  type AuthType = 'ALL' | 'FACE_ONLY';
16861847f8eSopenharmony_ci
16961847f8eSopenharmony_ci  /**
17061847f8eSopenharmony_ci   * Secure levels
17161847f8eSopenharmony_ci   *
17261847f8eSopenharmony_ci   * @typedef { 'S1' | 'S2' | 'S3' | 'S4' }
17361847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
17461847f8eSopenharmony_ci   * @since 6
17561847f8eSopenharmony_ci   * @deprecated since 8
17661847f8eSopenharmony_ci   */
17761847f8eSopenharmony_ci  type SecureLevel = 'S1' | 'S2' | 'S3' | 'S4';
17861847f8eSopenharmony_ci
17961847f8eSopenharmony_ci  /**
18061847f8eSopenharmony_ci   * Used to initiate authentication.
18161847f8eSopenharmony_ci   *
18261847f8eSopenharmony_ci   * @interface Authenticator
18361847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
18461847f8eSopenharmony_ci   * @since 6
18561847f8eSopenharmony_ci   * @deprecated since 8
18661847f8eSopenharmony_ci   */
18761847f8eSopenharmony_ci  interface Authenticator {
18861847f8eSopenharmony_ci    /**
18961847f8eSopenharmony_ci     * Execute authentication.
19061847f8eSopenharmony_ci     *
19161847f8eSopenharmony_ci     * @permission ohos.permission.ACCESS_BIOMETRIC
19261847f8eSopenharmony_ci     * @param { AuthType } type - Indicates the authentication type.
19361847f8eSopenharmony_ci     * @param { SecureLevel } level - Indicates the security level.
19461847f8eSopenharmony_ci     * @param { AsyncCallback<number> } callback - Async callback of execute.
19561847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
19661847f8eSopenharmony_ci     * @since 6
19761847f8eSopenharmony_ci     * @deprecated since 8
19861847f8eSopenharmony_ci     */
19961847f8eSopenharmony_ci    execute(type: AuthType, level: SecureLevel, callback: AsyncCallback<number>): void;
20061847f8eSopenharmony_ci
20161847f8eSopenharmony_ci    /**
20261847f8eSopenharmony_ci     * Execute authentication.
20361847f8eSopenharmony_ci     *
20461847f8eSopenharmony_ci     * @permission ohos.permission.ACCESS_BIOMETRIC
20561847f8eSopenharmony_ci     * @param { AuthType } type - Indicates the authentication type.
20661847f8eSopenharmony_ci     * @param { SecureLevel } level - Indicates the security level.
20761847f8eSopenharmony_ci     * @returns { Promise<number> }
20861847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
20961847f8eSopenharmony_ci     * @since 6
21061847f8eSopenharmony_ci     * @deprecated since 8
21161847f8eSopenharmony_ci     */
21261847f8eSopenharmony_ci    execute(type: AuthType, level: SecureLevel): Promise<number>;
21361847f8eSopenharmony_ci  }
21461847f8eSopenharmony_ci
21561847f8eSopenharmony_ci  /**
21661847f8eSopenharmony_ci   * Get Authenticator instance.
21761847f8eSopenharmony_ci   *
21861847f8eSopenharmony_ci   * @returns { Authenticator } Returns an Authenticator.
21961847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
22061847f8eSopenharmony_ci   * @since 6
22161847f8eSopenharmony_ci   * @deprecated since 8
22261847f8eSopenharmony_ci   */
22361847f8eSopenharmony_ci  function getAuthenticator(): Authenticator;
22461847f8eSopenharmony_ci
22561847f8eSopenharmony_ci  /**
22661847f8eSopenharmony_ci   * User authentication.
22761847f8eSopenharmony_ci   *
22861847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
22961847f8eSopenharmony_ci   * @since 8
23061847f8eSopenharmony_ci   * @deprecated since 9
23161847f8eSopenharmony_ci   * @useinstead ohos.userIAM.userAuth.AuthInstance
23261847f8eSopenharmony_ci   */
23361847f8eSopenharmony_ci  class UserAuth {
23461847f8eSopenharmony_ci    /**
23561847f8eSopenharmony_ci     * Constructor to get the UserAuth class instance.
23661847f8eSopenharmony_ci     *
23761847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
23861847f8eSopenharmony_ci     * @since 8
23961847f8eSopenharmony_ci     * @deprecated since 9
24061847f8eSopenharmony_ci     * @useinstead ohos.userIAM.userAuth.getAuthInstance
24161847f8eSopenharmony_ci     */
24261847f8eSopenharmony_ci    constructor();
24361847f8eSopenharmony_ci
24461847f8eSopenharmony_ci    /**
24561847f8eSopenharmony_ci     * Get version information.
24661847f8eSopenharmony_ci     *
24761847f8eSopenharmony_ci     * @permission ohos.permission.ACCESS_BIOMETRIC
24861847f8eSopenharmony_ci     * @returns { number } Returns version information.
24961847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
25061847f8eSopenharmony_ci     * @since 8
25161847f8eSopenharmony_ci     * @deprecated since 9
25261847f8eSopenharmony_ci     * @useinstead ohos.userIAM.userAuth.getVersion
25361847f8eSopenharmony_ci     */
25461847f8eSopenharmony_ci    getVersion(): number;
25561847f8eSopenharmony_ci
25661847f8eSopenharmony_ci    /**
25761847f8eSopenharmony_ci     * Check whether the authentication capability is available.
25861847f8eSopenharmony_ci     *
25961847f8eSopenharmony_ci     * @permission ohos.permission.ACCESS_BIOMETRIC
26061847f8eSopenharmony_ci     * @param { UserAuthType } authType - Credential type for authentication.
26161847f8eSopenharmony_ci     * @param { AuthTrustLevel } authTrustLevel - Trust level of authentication result.
26261847f8eSopenharmony_ci     * @returns { number } Returns a check result, which is specified by getAvailableStatus, the value of number is related to the ResultCode enum, **201** is
26361847f8eSopenharmony_ci     * check permission failed.
26461847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
26561847f8eSopenharmony_ci     * @since 8
26661847f8eSopenharmony_ci     * @deprecated since 9
26761847f8eSopenharmony_ci     * @useinstead ohos.userIAM.userAuth.getAvailableStatus
26861847f8eSopenharmony_ci     */
26961847f8eSopenharmony_ci    getAvailableStatus(authType: UserAuthType, authTrustLevel: AuthTrustLevel): number;
27061847f8eSopenharmony_ci
27161847f8eSopenharmony_ci    /**
27261847f8eSopenharmony_ci     * Executes authentication.
27361847f8eSopenharmony_ci     *
27461847f8eSopenharmony_ci     * @permission ohos.permission.ACCESS_BIOMETRIC
27561847f8eSopenharmony_ci     * @param { Uint8Array } challenge - Pass in challenge value.
27661847f8eSopenharmony_ci     * @param { UserAuthType } authType - Type of authentication.
27761847f8eSopenharmony_ci     * @param { AuthTrustLevel } authTrustLevel - Trust level of authentication result.
27861847f8eSopenharmony_ci     * @param { IUserAuthCallback } callback - Return result and acquireInfo through callback, the value of result code is related to the ResultCode enum,
27961847f8eSopenharmony_ci     * **201** is check permission failed.
28061847f8eSopenharmony_ci     * @returns { Uint8Array } Returns ContextId for cancel.
28161847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
28261847f8eSopenharmony_ci     * @since 8
28361847f8eSopenharmony_ci     * @deprecated since 9
28461847f8eSopenharmony_ci     * @useinstead ohos.userIAM.userAuth.AuthInstance.start
28561847f8eSopenharmony_ci     */
28661847f8eSopenharmony_ci    auth(
28761847f8eSopenharmony_ci      challenge: Uint8Array,
28861847f8eSopenharmony_ci      authType: UserAuthType,
28961847f8eSopenharmony_ci      authTrustLevel: AuthTrustLevel,
29061847f8eSopenharmony_ci      callback: IUserAuthCallback
29161847f8eSopenharmony_ci    ): Uint8Array;
29261847f8eSopenharmony_ci
29361847f8eSopenharmony_ci    /**
29461847f8eSopenharmony_ci     * Cancel authentication with ContextID.
29561847f8eSopenharmony_ci     *
29661847f8eSopenharmony_ci     * @permission ohos.permission.ACCESS_BIOMETRIC
29761847f8eSopenharmony_ci     * @param { Uint8Array } contextID - Cancel authentication and pass in ContextID.
29861847f8eSopenharmony_ci     * @returns { number } Returns a number value indicating whether Cancel authentication was successful, the value of number is related to the ResultCode
29961847f8eSopenharmony_ci     * enum, **201** is check permission failed.
30061847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
30161847f8eSopenharmony_ci     * @since 8
30261847f8eSopenharmony_ci     * @deprecated since 9
30361847f8eSopenharmony_ci     * @useinstead ohos.userIAM.userAuth.AuthInstance.cancel
30461847f8eSopenharmony_ci     */
30561847f8eSopenharmony_ci    cancelAuth(contextID: Uint8Array): number;
30661847f8eSopenharmony_ci  }
30761847f8eSopenharmony_ci
30861847f8eSopenharmony_ci  /**
30961847f8eSopenharmony_ci   * Asynchronous callback of authentication operation.
31061847f8eSopenharmony_ci   *
31161847f8eSopenharmony_ci   * @interface IUserAuthCallback
31261847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
31361847f8eSopenharmony_ci   * @since 8
31461847f8eSopenharmony_ci   * @deprecated since 9
31561847f8eSopenharmony_ci   * @useinstead ohos.userIAM.userAuth.AuthEvent
31661847f8eSopenharmony_ci   */
31761847f8eSopenharmony_ci  interface IUserAuthCallback {
31861847f8eSopenharmony_ci    /**
31961847f8eSopenharmony_ci     * The authentication result code is returned through the callback.
32061847f8eSopenharmony_ci     * If the authentication is passed, the authentication token is returned in extraInfo,
32161847f8eSopenharmony_ci     * If the authentication fails, the remaining authentication times are returned in extraInfo,
32261847f8eSopenharmony_ci     * If the authentication executor is locked, the freezing time is returned in extraInfo.
32361847f8eSopenharmony_ci     *
32461847f8eSopenharmony_ci     * @type { function } 
32561847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
32661847f8eSopenharmony_ci     * @since 8
32761847f8eSopenharmony_ci     * @deprecated since 9
32861847f8eSopenharmony_ci     * @useinstead ohos.userIAM.userAuth.AuthEvent.callback
32961847f8eSopenharmony_ci     */
33061847f8eSopenharmony_ci    onResult: (result: number, extraInfo: AuthResult) => void;
33161847f8eSopenharmony_ci
33261847f8eSopenharmony_ci    /**
33361847f8eSopenharmony_ci     * During an authentication, the TipsCode is returned through the callback.
33461847f8eSopenharmony_ci     *
33561847f8eSopenharmony_ci     * @type { ?function }
33661847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
33761847f8eSopenharmony_ci     * @since 8
33861847f8eSopenharmony_ci     * @deprecated since 9
33961847f8eSopenharmony_ci     * @useinstead ohos.userIAM.userAuth.AuthEvent.callback
34061847f8eSopenharmony_ci     */
34161847f8eSopenharmony_ci    onAcquireInfo?: (module: number, acquire: number, extraInfo: any) => void;
34261847f8eSopenharmony_ci  }
34361847f8eSopenharmony_ci
34461847f8eSopenharmony_ci  /**
34561847f8eSopenharmony_ci   * Authentication result: authentication token, remaining authentication times, freezing time.
34661847f8eSopenharmony_ci   *
34761847f8eSopenharmony_ci   * @typedef AuthResult
34861847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
34961847f8eSopenharmony_ci   * @since 8
35061847f8eSopenharmony_ci   * @deprecated since 9
35161847f8eSopenharmony_ci   * @useinstead ohos.userIAM.userAuth.AuthResultInfo
35261847f8eSopenharmony_ci   */
35361847f8eSopenharmony_ci  interface AuthResult {
35461847f8eSopenharmony_ci    /**
35561847f8eSopenharmony_ci     * The authentication result if the authentication is passed.
35661847f8eSopenharmony_ci     *
35761847f8eSopenharmony_ci     * @type { ?Uint8Array }
35861847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
35961847f8eSopenharmony_ci     * @since 8
36061847f8eSopenharmony_ci     * @deprecated since 9
36161847f8eSopenharmony_ci     */
36261847f8eSopenharmony_ci    token?: Uint8Array;
36361847f8eSopenharmony_ci
36461847f8eSopenharmony_ci    /**
36561847f8eSopenharmony_ci     * The remaining authentication times if the authentication fails.
36661847f8eSopenharmony_ci     *
36761847f8eSopenharmony_ci     * @type { ?number }
36861847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
36961847f8eSopenharmony_ci     * @since 8
37061847f8eSopenharmony_ci     * @deprecated since 9
37161847f8eSopenharmony_ci     */
37261847f8eSopenharmony_ci    remainTimes?: number;
37361847f8eSopenharmony_ci
37461847f8eSopenharmony_ci    /**
37561847f8eSopenharmony_ci     * The freezing time if the authentication executor is locked.
37661847f8eSopenharmony_ci     *
37761847f8eSopenharmony_ci     * @type { ?number }
37861847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
37961847f8eSopenharmony_ci     * @since 8
38061847f8eSopenharmony_ci     * @deprecated since 9
38161847f8eSopenharmony_ci     */
38261847f8eSopenharmony_ci    freezingTime?: number;
38361847f8eSopenharmony_ci  }
38461847f8eSopenharmony_ci
38561847f8eSopenharmony_ci  /**
38661847f8eSopenharmony_ci   * Enum for operation result.
38761847f8eSopenharmony_ci   *
38861847f8eSopenharmony_ci   * @enum { number }
38961847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
39061847f8eSopenharmony_ci   * @since 8
39161847f8eSopenharmony_ci   * @deprecated since 9
39261847f8eSopenharmony_ci   * @useinstead ohos.userIAM.userAuth.UserAuthResultCode
39361847f8eSopenharmony_ci   */
39461847f8eSopenharmony_ci  enum ResultCode {
39561847f8eSopenharmony_ci    /**
39661847f8eSopenharmony_ci     * Indicates that the result is success or ability is supported.
39761847f8eSopenharmony_ci     *
39861847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
39961847f8eSopenharmony_ci     * @since 8
40061847f8eSopenharmony_ci     * @deprecated since 9
40161847f8eSopenharmony_ci     */
40261847f8eSopenharmony_ci    SUCCESS = 0,
40361847f8eSopenharmony_ci
40461847f8eSopenharmony_ci    /**
40561847f8eSopenharmony_ci     * Indicates that authentication failed.
40661847f8eSopenharmony_ci     *
40761847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
40861847f8eSopenharmony_ci     * @since 8
40961847f8eSopenharmony_ci     * @deprecated since 9
41061847f8eSopenharmony_ci     */
41161847f8eSopenharmony_ci    FAIL = 1,
41261847f8eSopenharmony_ci
41361847f8eSopenharmony_ci    /**
41461847f8eSopenharmony_ci     * Indicates other errors.
41561847f8eSopenharmony_ci     *
41661847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
41761847f8eSopenharmony_ci     * @since 8
41861847f8eSopenharmony_ci     * @deprecated since 9
41961847f8eSopenharmony_ci     */
42061847f8eSopenharmony_ci    GENERAL_ERROR = 2,
42161847f8eSopenharmony_ci
42261847f8eSopenharmony_ci    /**
42361847f8eSopenharmony_ci     * Indicates that this operation has been canceled.
42461847f8eSopenharmony_ci     *
42561847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
42661847f8eSopenharmony_ci     * @since 8
42761847f8eSopenharmony_ci     * @deprecated since 9
42861847f8eSopenharmony_ci     */
42961847f8eSopenharmony_ci    CANCELED = 3,
43061847f8eSopenharmony_ci
43161847f8eSopenharmony_ci    /**
43261847f8eSopenharmony_ci     * Indicates that this operation has timed out.
43361847f8eSopenharmony_ci     *
43461847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
43561847f8eSopenharmony_ci     * @since 8
43661847f8eSopenharmony_ci     * @deprecated since 9
43761847f8eSopenharmony_ci     */
43861847f8eSopenharmony_ci    TIMEOUT = 4,
43961847f8eSopenharmony_ci
44061847f8eSopenharmony_ci    /**
44161847f8eSopenharmony_ci     * Indicates that this authentication type is not supported.
44261847f8eSopenharmony_ci     *
44361847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
44461847f8eSopenharmony_ci     * @since 8
44561847f8eSopenharmony_ci     * @deprecated since 9
44661847f8eSopenharmony_ci     */
44761847f8eSopenharmony_ci    TYPE_NOT_SUPPORT = 5,
44861847f8eSopenharmony_ci
44961847f8eSopenharmony_ci    /**
45061847f8eSopenharmony_ci     * Indicates that the authentication trust level is not supported.
45161847f8eSopenharmony_ci     *
45261847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
45361847f8eSopenharmony_ci     * @since 8
45461847f8eSopenharmony_ci     * @deprecated since 9
45561847f8eSopenharmony_ci     */
45661847f8eSopenharmony_ci    TRUST_LEVEL_NOT_SUPPORT = 6,
45761847f8eSopenharmony_ci
45861847f8eSopenharmony_ci    /**
45961847f8eSopenharmony_ci     * Indicates that the authentication task is busy. Wait for a few seconds and try again.
46061847f8eSopenharmony_ci     *
46161847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
46261847f8eSopenharmony_ci     * @since 8
46361847f8eSopenharmony_ci     * @deprecated since 9
46461847f8eSopenharmony_ci     */
46561847f8eSopenharmony_ci    BUSY = 7,
46661847f8eSopenharmony_ci
46761847f8eSopenharmony_ci    /**
46861847f8eSopenharmony_ci     * Indicates incorrect parameters.
46961847f8eSopenharmony_ci     *
47061847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
47161847f8eSopenharmony_ci     * @since 8
47261847f8eSopenharmony_ci     * @deprecated since 9
47361847f8eSopenharmony_ci     */
47461847f8eSopenharmony_ci    INVALID_PARAMETERS = 8,
47561847f8eSopenharmony_ci
47661847f8eSopenharmony_ci    /**
47761847f8eSopenharmony_ci     * Indicates that the authenticator is locked.
47861847f8eSopenharmony_ci     *
47961847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
48061847f8eSopenharmony_ci     * @since 8
48161847f8eSopenharmony_ci     * @deprecated since 9
48261847f8eSopenharmony_ci     */
48361847f8eSopenharmony_ci    LOCKED = 9,
48461847f8eSopenharmony_ci
48561847f8eSopenharmony_ci    /**
48661847f8eSopenharmony_ci     * Indicates that the user has not enrolled the authenticator.
48761847f8eSopenharmony_ci     *
48861847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
48961847f8eSopenharmony_ci     * @since 8
49061847f8eSopenharmony_ci     * @deprecated since 9
49161847f8eSopenharmony_ci     */
49261847f8eSopenharmony_ci    NOT_ENROLLED = 10
49361847f8eSopenharmony_ci  }
49461847f8eSopenharmony_ci
49561847f8eSopenharmony_ci  /**
49661847f8eSopenharmony_ci   * The enumeration of prompt codes in the process of face authentication.
49761847f8eSopenharmony_ci   *
49861847f8eSopenharmony_ci   * @enum { number }
49961847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
50061847f8eSopenharmony_ci   * @since 8
50161847f8eSopenharmony_ci   * @deprecated since 11
50261847f8eSopenharmony_ci   */
50361847f8eSopenharmony_ci  enum FaceTips {
50461847f8eSopenharmony_ci    /**
50561847f8eSopenharmony_ci     * Indicates that the obtained facial image is too bright due to high illumination.
50661847f8eSopenharmony_ci     *
50761847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
50861847f8eSopenharmony_ci     * @since 8
50961847f8eSopenharmony_ci     * @deprecated since 11
51061847f8eSopenharmony_ci     */
51161847f8eSopenharmony_ci    FACE_AUTH_TIP_TOO_BRIGHT = 1,
51261847f8eSopenharmony_ci
51361847f8eSopenharmony_ci    /**
51461847f8eSopenharmony_ci     * Indicates that the obtained facial image is too dark due to low illumination.
51561847f8eSopenharmony_ci     *
51661847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
51761847f8eSopenharmony_ci     * @since 8
51861847f8eSopenharmony_ci     * @deprecated since 11
51961847f8eSopenharmony_ci     */
52061847f8eSopenharmony_ci    FACE_AUTH_TIP_TOO_DARK = 2,
52161847f8eSopenharmony_ci
52261847f8eSopenharmony_ci    /**
52361847f8eSopenharmony_ci     * Indicates that the face is too close to the device.
52461847f8eSopenharmony_ci     *
52561847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
52661847f8eSopenharmony_ci     * @since 8
52761847f8eSopenharmony_ci     * @deprecated since 11
52861847f8eSopenharmony_ci     */
52961847f8eSopenharmony_ci    FACE_AUTH_TIP_TOO_CLOSE = 3,
53061847f8eSopenharmony_ci
53161847f8eSopenharmony_ci    /**
53261847f8eSopenharmony_ci     * Indicates that the face is too far away from the device.
53361847f8eSopenharmony_ci     *
53461847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
53561847f8eSopenharmony_ci     * @since 8
53661847f8eSopenharmony_ci     * @deprecated since 11
53761847f8eSopenharmony_ci     */
53861847f8eSopenharmony_ci    FACE_AUTH_TIP_TOO_FAR = 4,
53961847f8eSopenharmony_ci
54061847f8eSopenharmony_ci    /**
54161847f8eSopenharmony_ci     * Indicates that the device is too high, and that only the upper part of the face is captured.
54261847f8eSopenharmony_ci     *
54361847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
54461847f8eSopenharmony_ci     * @since 8
54561847f8eSopenharmony_ci     * @deprecated since 11
54661847f8eSopenharmony_ci     */
54761847f8eSopenharmony_ci    FACE_AUTH_TIP_TOO_HIGH = 5,
54861847f8eSopenharmony_ci
54961847f8eSopenharmony_ci    /**
55061847f8eSopenharmony_ci     * Indicates that the device is too low, and that only the lower part of the face is captured.
55161847f8eSopenharmony_ci     *
55261847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
55361847f8eSopenharmony_ci     * @since 8
55461847f8eSopenharmony_ci     * @deprecated since 11
55561847f8eSopenharmony_ci     */
55661847f8eSopenharmony_ci    FACE_AUTH_TIP_TOO_LOW = 6,
55761847f8eSopenharmony_ci
55861847f8eSopenharmony_ci    /**
55961847f8eSopenharmony_ci     * Indicates that the device is deviated to the right, and that only the right part of the face is captured.
56061847f8eSopenharmony_ci     *
56161847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
56261847f8eSopenharmony_ci     * @since 8
56361847f8eSopenharmony_ci     * @deprecated since 11
56461847f8eSopenharmony_ci     */
56561847f8eSopenharmony_ci    FACE_AUTH_TIP_TOO_RIGHT = 7,
56661847f8eSopenharmony_ci
56761847f8eSopenharmony_ci    /**
56861847f8eSopenharmony_ci     * Indicates that the device is deviated to the left, and that only the left part of the face is captured.
56961847f8eSopenharmony_ci     *
57061847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
57161847f8eSopenharmony_ci     * @since 8
57261847f8eSopenharmony_ci     * @deprecated since 11
57361847f8eSopenharmony_ci     */
57461847f8eSopenharmony_ci    FACE_AUTH_TIP_TOO_LEFT = 8,
57561847f8eSopenharmony_ci
57661847f8eSopenharmony_ci    /**
57761847f8eSopenharmony_ci     * Indicates that the face moves too fast during facial information collection.
57861847f8eSopenharmony_ci     *
57961847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
58061847f8eSopenharmony_ci     * @since 8
58161847f8eSopenharmony_ci     * @deprecated since 11
58261847f8eSopenharmony_ci     */
58361847f8eSopenharmony_ci    FACE_AUTH_TIP_TOO_MUCH_MOTION = 9,
58461847f8eSopenharmony_ci
58561847f8eSopenharmony_ci    /**
58661847f8eSopenharmony_ci     * Indicates that the face is not facing the device.
58761847f8eSopenharmony_ci     *
58861847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
58961847f8eSopenharmony_ci     * @since 8
59061847f8eSopenharmony_ci     * @deprecated since 11
59161847f8eSopenharmony_ci     */
59261847f8eSopenharmony_ci    FACE_AUTH_TIP_POOR_GAZE = 10,
59361847f8eSopenharmony_ci
59461847f8eSopenharmony_ci    /**
59561847f8eSopenharmony_ci     * Indicates that no face is detected.
59661847f8eSopenharmony_ci     *
59761847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
59861847f8eSopenharmony_ci     * @since 8
59961847f8eSopenharmony_ci     * @deprecated since 11
60061847f8eSopenharmony_ci     */
60161847f8eSopenharmony_ci    FACE_AUTH_TIP_NOT_DETECTED = 11
60261847f8eSopenharmony_ci  }
60361847f8eSopenharmony_ci
60461847f8eSopenharmony_ci  /**
60561847f8eSopenharmony_ci   * The enumeration of prompt codes in the process of fingerprint authentication.
60661847f8eSopenharmony_ci   *
60761847f8eSopenharmony_ci   * @enum { number }
60861847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
60961847f8eSopenharmony_ci   * @since 8
61061847f8eSopenharmony_ci   * @deprecated since 11
61161847f8eSopenharmony_ci   */
61261847f8eSopenharmony_ci  enum FingerprintTips {
61361847f8eSopenharmony_ci    /**
61461847f8eSopenharmony_ci     * Indicates that the image acquired is good.
61561847f8eSopenharmony_ci     *
61661847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
61761847f8eSopenharmony_ci     * @since 8
61861847f8eSopenharmony_ci     * @deprecated since 11
61961847f8eSopenharmony_ci     */
62061847f8eSopenharmony_ci    FINGERPRINT_AUTH_TIP_GOOD = 0,
62161847f8eSopenharmony_ci
62261847f8eSopenharmony_ci    /**
62361847f8eSopenharmony_ci     * Indicates that the fingerprint image is too noisy due to suspected or detected dirt on sensor.
62461847f8eSopenharmony_ci     *
62561847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
62661847f8eSopenharmony_ci     * @since 8
62761847f8eSopenharmony_ci     * @deprecated since 11
62861847f8eSopenharmony_ci     */
62961847f8eSopenharmony_ci    FINGERPRINT_AUTH_TIP_DIRTY = 1,
63061847f8eSopenharmony_ci
63161847f8eSopenharmony_ci    /**
63261847f8eSopenharmony_ci     * Indicates that the fingerprint image is too noisy to process due to a detected condition.
63361847f8eSopenharmony_ci     *
63461847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
63561847f8eSopenharmony_ci     * @since 8
63661847f8eSopenharmony_ci     * @deprecated since 11
63761847f8eSopenharmony_ci     */
63861847f8eSopenharmony_ci    FINGERPRINT_AUTH_TIP_INSUFFICIENT = 2,
63961847f8eSopenharmony_ci
64061847f8eSopenharmony_ci    /**
64161847f8eSopenharmony_ci     * Indicates that only a partial fingerprint image is detected.
64261847f8eSopenharmony_ci     *
64361847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
64461847f8eSopenharmony_ci     * @since 8
64561847f8eSopenharmony_ci     * @deprecated since 11
64661847f8eSopenharmony_ci     */
64761847f8eSopenharmony_ci    FINGERPRINT_AUTH_TIP_PARTIAL = 3,
64861847f8eSopenharmony_ci
64961847f8eSopenharmony_ci    /**
65061847f8eSopenharmony_ci     * Indicates that the fingerprint image is incomplete due to quick motion.
65161847f8eSopenharmony_ci     *
65261847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
65361847f8eSopenharmony_ci     * @since 8
65461847f8eSopenharmony_ci     * @deprecated since 11
65561847f8eSopenharmony_ci     */
65661847f8eSopenharmony_ci    FINGERPRINT_AUTH_TIP_TOO_FAST = 4,
65761847f8eSopenharmony_ci
65861847f8eSopenharmony_ci    /**
65961847f8eSopenharmony_ci     * Indicates that the fingerprint image is unreadable due to lack of motion.
66061847f8eSopenharmony_ci     *
66161847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
66261847f8eSopenharmony_ci     * @since 8
66361847f8eSopenharmony_ci     * @deprecated since 11
66461847f8eSopenharmony_ci     */
66561847f8eSopenharmony_ci    FINGERPRINT_AUTH_TIP_TOO_SLOW = 5
66661847f8eSopenharmony_ci  }
66761847f8eSopenharmony_ci
66861847f8eSopenharmony_ci  /**
66961847f8eSopenharmony_ci   * Credential type for authentication.
67061847f8eSopenharmony_ci   *
67161847f8eSopenharmony_ci   * @enum { number }
67261847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
67361847f8eSopenharmony_ci   * @since 8
67461847f8eSopenharmony_ci   */
67561847f8eSopenharmony_ci  /**
67661847f8eSopenharmony_ci   * Credential type for authentication.
67761847f8eSopenharmony_ci   *
67861847f8eSopenharmony_ci   * @enum { number }
67961847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
68061847f8eSopenharmony_ci   * @atomicservice
68161847f8eSopenharmony_ci   * @since 12
68261847f8eSopenharmony_ci   */
68361847f8eSopenharmony_ci  enum UserAuthType {
68461847f8eSopenharmony_ci    /**
68561847f8eSopenharmony_ci     * Authentication type pin.
68661847f8eSopenharmony_ci     *
68761847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
68861847f8eSopenharmony_ci     * @since 10
68961847f8eSopenharmony_ci     */
69061847f8eSopenharmony_ci    /**
69161847f8eSopenharmony_ci     * Authentication type pin.
69261847f8eSopenharmony_ci     *
69361847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
69461847f8eSopenharmony_ci     * @atomicservice
69561847f8eSopenharmony_ci     * @since 12
69661847f8eSopenharmony_ci     */
69761847f8eSopenharmony_ci    PIN = 1,
69861847f8eSopenharmony_ci
69961847f8eSopenharmony_ci    /**
70061847f8eSopenharmony_ci     * Authentication type face.
70161847f8eSopenharmony_ci     *
70261847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
70361847f8eSopenharmony_ci     * @since 8
70461847f8eSopenharmony_ci     */
70561847f8eSopenharmony_ci    /**
70661847f8eSopenharmony_ci     * Authentication type face.
70761847f8eSopenharmony_ci     *
70861847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
70961847f8eSopenharmony_ci     * @atomicservice
71061847f8eSopenharmony_ci     * @since 12
71161847f8eSopenharmony_ci     */
71261847f8eSopenharmony_ci    FACE = 2,
71361847f8eSopenharmony_ci
71461847f8eSopenharmony_ci    /**
71561847f8eSopenharmony_ci     * Authentication type fingerprint.
71661847f8eSopenharmony_ci     *
71761847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
71861847f8eSopenharmony_ci     * @since 8
71961847f8eSopenharmony_ci     */
72061847f8eSopenharmony_ci    /**
72161847f8eSopenharmony_ci     * Authentication type fingerprint.
72261847f8eSopenharmony_ci     *
72361847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
72461847f8eSopenharmony_ci     * @atomicservice
72561847f8eSopenharmony_ci     * @since 12
72661847f8eSopenharmony_ci     */
72761847f8eSopenharmony_ci    FINGERPRINT = 4
72861847f8eSopenharmony_ci  }
72961847f8eSopenharmony_ci
73061847f8eSopenharmony_ci  /**
73161847f8eSopenharmony_ci   * Trust level of authentication results.
73261847f8eSopenharmony_ci   *
73361847f8eSopenharmony_ci   * @enum { number }
73461847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
73561847f8eSopenharmony_ci   * @since 8
73661847f8eSopenharmony_ci   */
73761847f8eSopenharmony_ci  /**
73861847f8eSopenharmony_ci   * Trust level of authentication results.
73961847f8eSopenharmony_ci   *
74061847f8eSopenharmony_ci   * @enum { number }
74161847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
74261847f8eSopenharmony_ci   * @atomicservice
74361847f8eSopenharmony_ci   * @since 12
74461847f8eSopenharmony_ci   */
74561847f8eSopenharmony_ci  enum AuthTrustLevel {
74661847f8eSopenharmony_ci    /**
74761847f8eSopenharmony_ci     * Authentication result trusted level 1.
74861847f8eSopenharmony_ci     *
74961847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
75061847f8eSopenharmony_ci     * @since 8
75161847f8eSopenharmony_ci     */
75261847f8eSopenharmony_ci    /**
75361847f8eSopenharmony_ci     * Authentication result trusted level 1.
75461847f8eSopenharmony_ci     *
75561847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
75661847f8eSopenharmony_ci     * @atomicservice
75761847f8eSopenharmony_ci     * @since 12
75861847f8eSopenharmony_ci     */
75961847f8eSopenharmony_ci    ATL1 = 10000,
76061847f8eSopenharmony_ci
76161847f8eSopenharmony_ci    /**
76261847f8eSopenharmony_ci     * Authentication result trusted level 2.
76361847f8eSopenharmony_ci     *
76461847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
76561847f8eSopenharmony_ci     * @since 8
76661847f8eSopenharmony_ci     */
76761847f8eSopenharmony_ci    /**
76861847f8eSopenharmony_ci     * Authentication result trusted level 2.
76961847f8eSopenharmony_ci     *
77061847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
77161847f8eSopenharmony_ci     * @atomicservice
77261847f8eSopenharmony_ci     * @since 12
77361847f8eSopenharmony_ci     */
77461847f8eSopenharmony_ci    ATL2 = 20000,
77561847f8eSopenharmony_ci
77661847f8eSopenharmony_ci    /**
77761847f8eSopenharmony_ci     * Authentication result trusted level 3.
77861847f8eSopenharmony_ci     *
77961847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
78061847f8eSopenharmony_ci     * @since 8
78161847f8eSopenharmony_ci     */
78261847f8eSopenharmony_ci    /**
78361847f8eSopenharmony_ci     * Authentication result trusted level 3.
78461847f8eSopenharmony_ci     *
78561847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
78661847f8eSopenharmony_ci     * @atomicservice
78761847f8eSopenharmony_ci     * @since 12
78861847f8eSopenharmony_ci     */
78961847f8eSopenharmony_ci    ATL3 = 30000,
79061847f8eSopenharmony_ci
79161847f8eSopenharmony_ci    /**
79261847f8eSopenharmony_ci     * Authentication result trusted level 4.
79361847f8eSopenharmony_ci     *
79461847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
79561847f8eSopenharmony_ci     * @since 8
79661847f8eSopenharmony_ci     */
79761847f8eSopenharmony_ci    /**
79861847f8eSopenharmony_ci     * Authentication result trusted level 4.
79961847f8eSopenharmony_ci     *
80061847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
80161847f8eSopenharmony_ci     * @atomicservice
80261847f8eSopenharmony_ci     * @since 12
80361847f8eSopenharmony_ci     */
80461847f8eSopenharmony_ci    ATL4 = 40000
80561847f8eSopenharmony_ci  }
80661847f8eSopenharmony_ci
80761847f8eSopenharmony_ci  /**
80861847f8eSopenharmony_ci   * Authentication events.
80961847f8eSopenharmony_ci   *
81061847f8eSopenharmony_ci   * @typedef { 'result' | 'tip' }
81161847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
81261847f8eSopenharmony_ci   * @since 9
81361847f8eSopenharmony_ci   * @deprecated since 11
81461847f8eSopenharmony_ci   */
81561847f8eSopenharmony_ci  type AuthEventKey = 'result' | 'tip';
81661847f8eSopenharmony_ci
81761847f8eSopenharmony_ci  /**
81861847f8eSopenharmony_ci   * Return information of Authentication events.
81961847f8eSopenharmony_ci   *
82061847f8eSopenharmony_ci   * @typedef { AuthResultInfo | TipInfo }
82161847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
82261847f8eSopenharmony_ci   * @since 9
82361847f8eSopenharmony_ci   * @deprecated since 11
82461847f8eSopenharmony_ci   * @useinstead ohos.userIAM.userAuth.UserAuthResult
82561847f8eSopenharmony_ci   */
82661847f8eSopenharmony_ci  type EventInfo = AuthResultInfo | TipInfo;
82761847f8eSopenharmony_ci
82861847f8eSopenharmony_ci  /**
82961847f8eSopenharmony_ci   * Asynchronous callback of authentication event.
83061847f8eSopenharmony_ci   *
83161847f8eSopenharmony_ci   * @interface AuthEvent
83261847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
83361847f8eSopenharmony_ci   * @since 9
83461847f8eSopenharmony_ci   * @deprecated since 11
83561847f8eSopenharmony_ci   * @useinstead ohos.userIAM.userAuth.IAuthCallback
83661847f8eSopenharmony_ci   */
83761847f8eSopenharmony_ci  interface AuthEvent {
83861847f8eSopenharmony_ci    /**
83961847f8eSopenharmony_ci     * The authentication event callback.
84061847f8eSopenharmony_ci     *
84161847f8eSopenharmony_ci     * @param { EventInfo } result - Event info.
84261847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
84361847f8eSopenharmony_ci     * @since 9
84461847f8eSopenharmony_ci     * @deprecated since 11
84561847f8eSopenharmony_ci     * @useinstead ohos.userIAM.userAuth.IAuthCallback.onResult
84661847f8eSopenharmony_ci     */
84761847f8eSopenharmony_ci    callback(result: EventInfo): void;
84861847f8eSopenharmony_ci  }
84961847f8eSopenharmony_ci
85061847f8eSopenharmony_ci  /**
85161847f8eSopenharmony_ci   * Authentication result information.
85261847f8eSopenharmony_ci   *
85361847f8eSopenharmony_ci   * @typedef AuthResultInfo
85461847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
85561847f8eSopenharmony_ci   * @since 9
85661847f8eSopenharmony_ci   * @deprecated since 11
85761847f8eSopenharmony_ci   */
85861847f8eSopenharmony_ci  interface AuthResultInfo {
85961847f8eSopenharmony_ci    /**
86061847f8eSopenharmony_ci     * The authentication result.
86161847f8eSopenharmony_ci     *
86261847f8eSopenharmony_ci     * @type { number }
86361847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
86461847f8eSopenharmony_ci     * @since 9
86561847f8eSopenharmony_ci     * @deprecated since 11
86661847f8eSopenharmony_ci     */
86761847f8eSopenharmony_ci    result: number;
86861847f8eSopenharmony_ci
86961847f8eSopenharmony_ci    /**
87061847f8eSopenharmony_ci     * The authentication token if the authentication is passed.
87161847f8eSopenharmony_ci     *
87261847f8eSopenharmony_ci     * @type { ?Uint8Array }
87361847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
87461847f8eSopenharmony_ci     * @since 9
87561847f8eSopenharmony_ci     * @deprecated since 11
87661847f8eSopenharmony_ci     */
87761847f8eSopenharmony_ci    token?: Uint8Array;
87861847f8eSopenharmony_ci
87961847f8eSopenharmony_ci    /**
88061847f8eSopenharmony_ci     * The remaining authentication attempts if the authentication fails.
88161847f8eSopenharmony_ci     *
88261847f8eSopenharmony_ci     * @type { ?number }
88361847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
88461847f8eSopenharmony_ci     * @since 9
88561847f8eSopenharmony_ci     * @deprecated since 11
88661847f8eSopenharmony_ci     */
88761847f8eSopenharmony_ci    remainAttempts?: number;
88861847f8eSopenharmony_ci
88961847f8eSopenharmony_ci    /**
89061847f8eSopenharmony_ci     * The lockout duration if the authentication executor is locked.
89161847f8eSopenharmony_ci     *
89261847f8eSopenharmony_ci     * @type { ?number }
89361847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
89461847f8eSopenharmony_ci     * @since 9
89561847f8eSopenharmony_ci     * @deprecated since 11
89661847f8eSopenharmony_ci     */
89761847f8eSopenharmony_ci    lockoutDuration?: number;
89861847f8eSopenharmony_ci  }
89961847f8eSopenharmony_ci
90061847f8eSopenharmony_ci  /**
90161847f8eSopenharmony_ci   * Authentication tip info.
90261847f8eSopenharmony_ci   *
90361847f8eSopenharmony_ci   * @typedef TipInfo
90461847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
90561847f8eSopenharmony_ci   * @since 9
90661847f8eSopenharmony_ci   * @deprecated since 11
90761847f8eSopenharmony_ci   */
90861847f8eSopenharmony_ci  interface TipInfo {
90961847f8eSopenharmony_ci    /**
91061847f8eSopenharmony_ci     * The authentication module of sending tip information.
91161847f8eSopenharmony_ci     *
91261847f8eSopenharmony_ci     * @type { number }
91361847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
91461847f8eSopenharmony_ci     * @since 9
91561847f8eSopenharmony_ci     * @deprecated since 11
91661847f8eSopenharmony_ci     */
91761847f8eSopenharmony_ci    module: number;
91861847f8eSopenharmony_ci
91961847f8eSopenharmony_ci    /**
92061847f8eSopenharmony_ci     * Tip information, used to prompt the business to perform some operations.
92161847f8eSopenharmony_ci     *
92261847f8eSopenharmony_ci     * @type { number }
92361847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
92461847f8eSopenharmony_ci     * @since 9
92561847f8eSopenharmony_ci     * @deprecated since 11
92661847f8eSopenharmony_ci     */
92761847f8eSopenharmony_ci    tip: number;
92861847f8eSopenharmony_ci  }
92961847f8eSopenharmony_ci
93061847f8eSopenharmony_ci  /**
93161847f8eSopenharmony_ci   * Authentication instance, used to initiate a complete authentication.
93261847f8eSopenharmony_ci   *
93361847f8eSopenharmony_ci   * @interface AuthInstance
93461847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
93561847f8eSopenharmony_ci   * @since 9
93661847f8eSopenharmony_ci   * @deprecated since 10
93761847f8eSopenharmony_ci   * @useinstead ohos.userIAM.userAuth.UserAuthInstance
93861847f8eSopenharmony_ci   */
93961847f8eSopenharmony_ci  interface AuthInstance {
94061847f8eSopenharmony_ci    /**
94161847f8eSopenharmony_ci     * Turn on authentication event listening.
94261847f8eSopenharmony_ci     *
94361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Incorrect parameters.
94461847f8eSopenharmony_ci     * @throws { BusinessError } 12500002 - General operation error.
94561847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
94661847f8eSopenharmony_ci     * @since 9
94761847f8eSopenharmony_ci     * @deprecated since 10
94861847f8eSopenharmony_ci     */
94961847f8eSopenharmony_ci    on: (name: AuthEventKey, callback: AuthEvent) => void;
95061847f8eSopenharmony_ci
95161847f8eSopenharmony_ci    /**
95261847f8eSopenharmony_ci     * Turn off authentication event listening.
95361847f8eSopenharmony_ci     *
95461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Incorrect parameters.
95561847f8eSopenharmony_ci     * @throws { BusinessError } 12500002 - General operation error.
95661847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
95761847f8eSopenharmony_ci     * @since 9
95861847f8eSopenharmony_ci     * @deprecated since 10
95961847f8eSopenharmony_ci     */
96061847f8eSopenharmony_ci    off: (name: AuthEventKey) => void;
96161847f8eSopenharmony_ci
96261847f8eSopenharmony_ci    /**
96361847f8eSopenharmony_ci     * Start this authentication, an instance can only perform authentication once.
96461847f8eSopenharmony_ci     *
96561847f8eSopenharmony_ci     * @permission ohos.permission.ACCESS_BIOMETRIC
96661847f8eSopenharmony_ci     * @type { function }
96761847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission verification failed.
96861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Incorrect parameters.
96961847f8eSopenharmony_ci     * @throws { BusinessError } 12500001 - Authentication failed.
97061847f8eSopenharmony_ci     * @throws { BusinessError } 12500002 - General operation error.
97161847f8eSopenharmony_ci     * @throws { BusinessError } 12500003 - The operation is canceled.
97261847f8eSopenharmony_ci     * @throws { BusinessError } 12500004 - The operation is time-out.
97361847f8eSopenharmony_ci     * @throws { BusinessError } 12500005 - The authentication type is not supported.
97461847f8eSopenharmony_ci     * @throws { BusinessError } 12500006 - The authentication trust level is not supported.
97561847f8eSopenharmony_ci     * @throws { BusinessError } 12500007 - The authentication task is busy.
97661847f8eSopenharmony_ci     * @throws { BusinessError } 12500009 - The authenticator is locked.
97761847f8eSopenharmony_ci     * @throws { BusinessError } 12500010 - The type of credential has not been enrolled.
97861847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
97961847f8eSopenharmony_ci     * @since 9
98061847f8eSopenharmony_ci     * @deprecated since 10
98161847f8eSopenharmony_ci     */
98261847f8eSopenharmony_ci    start: () => void;
98361847f8eSopenharmony_ci
98461847f8eSopenharmony_ci    /**
98561847f8eSopenharmony_ci     * Cancel this authentication.
98661847f8eSopenharmony_ci     *
98761847f8eSopenharmony_ci     * @permission ohos.permission.ACCESS_BIOMETRIC
98861847f8eSopenharmony_ci     * @type { function }
98961847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission verification failed.
99061847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Incorrect parameters.
99161847f8eSopenharmony_ci     * @throws { BusinessError } 12500002 - General operation error.
99261847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
99361847f8eSopenharmony_ci     * @since 9
99461847f8eSopenharmony_ci     * @deprecated since 10
99561847f8eSopenharmony_ci     */
99661847f8eSopenharmony_ci    cancel: () => void;
99761847f8eSopenharmony_ci  }
99861847f8eSopenharmony_ci
99961847f8eSopenharmony_ci  /**
100061847f8eSopenharmony_ci   * Check whether the authentication capability is available.
100161847f8eSopenharmony_ci   *
100261847f8eSopenharmony_ci   * @permission ohos.permission.ACCESS_BIOMETRIC
100361847f8eSopenharmony_ci   * @param { UserAuthType } authType - Credential type for authentication.
100461847f8eSopenharmony_ci   * @param { AuthTrustLevel } authTrustLevel - Trust level of authentication result.
100561847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission verification failed.
100661847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Incorrect parameters. Possible causes:
100761847f8eSopenharmony_ci   * <br>1. Mandatory parameters are left unspecified.
100861847f8eSopenharmony_ci   * @throws { BusinessError } 12500002 - General operation error.
100961847f8eSopenharmony_ci   * @throws { BusinessError } 12500005 - The authentication type is not supported.
101061847f8eSopenharmony_ci   * @throws { BusinessError } 12500006 - The authentication trust level is not supported.
101161847f8eSopenharmony_ci   * @throws { BusinessError } 12500010 - The type of credential has not been enrolled.
101261847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
101361847f8eSopenharmony_ci   * @since 9
101461847f8eSopenharmony_ci   */
101561847f8eSopenharmony_ci  /**
101661847f8eSopenharmony_ci   * Check whether the authentication capability is available.
101761847f8eSopenharmony_ci   *
101861847f8eSopenharmony_ci   * @permission ohos.permission.ACCESS_BIOMETRIC
101961847f8eSopenharmony_ci   * @param { UserAuthType } authType - Credential type for authentication.
102061847f8eSopenharmony_ci   * @param { AuthTrustLevel } authTrustLevel - Trust level of authentication result.
102161847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission verification failed.
102261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Incorrect parameters. Possible causes:
102361847f8eSopenharmony_ci   * <br>1. Mandatory parameters are left unspecified.
102461847f8eSopenharmony_ci   * @throws { BusinessError } 12500002 - General operation error.
102561847f8eSopenharmony_ci   * @throws { BusinessError } 12500005 - The authentication type is not supported.
102661847f8eSopenharmony_ci   * @throws { BusinessError } 12500006 - The authentication trust level is not supported.
102761847f8eSopenharmony_ci   * @throws { BusinessError } 12500010 - The type of credential has not been enrolled.
102861847f8eSopenharmony_ci   * @throws { BusinessError } 12500013 - Operation failed because of PIN expired.
102961847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
103061847f8eSopenharmony_ci   * @atomicservice
103161847f8eSopenharmony_ci   * @since 12
103261847f8eSopenharmony_ci   */
103361847f8eSopenharmony_ci  function getAvailableStatus(authType: UserAuthType, authTrustLevel: AuthTrustLevel): void;
103461847f8eSopenharmony_ci
103561847f8eSopenharmony_ci  /**
103661847f8eSopenharmony_ci   * Enrolled state.
103761847f8eSopenharmony_ci   *
103861847f8eSopenharmony_ci   * @typedef EnrolledState
103961847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
104061847f8eSopenharmony_ci   * @atomicservice
104161847f8eSopenharmony_ci   * @since 12
104261847f8eSopenharmony_ci   */
104361847f8eSopenharmony_ci  interface EnrolledState {
104461847f8eSopenharmony_ci    /**
104561847f8eSopenharmony_ci     * The credential digest.
104661847f8eSopenharmony_ci     *
104761847f8eSopenharmony_ci     * @type { number }
104861847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
104961847f8eSopenharmony_ci     * @atomicservice
105061847f8eSopenharmony_ci     * @since 12
105161847f8eSopenharmony_ci     */
105261847f8eSopenharmony_ci    credentialDigest: number;
105361847f8eSopenharmony_ci
105461847f8eSopenharmony_ci    /**
105561847f8eSopenharmony_ci     * The credential count.
105661847f8eSopenharmony_ci     *
105761847f8eSopenharmony_ci     * @type { number }
105861847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
105961847f8eSopenharmony_ci     * @atomicservice
106061847f8eSopenharmony_ci     * @since 12
106161847f8eSopenharmony_ci     */
106261847f8eSopenharmony_ci    credentialCount: number;
106361847f8eSopenharmony_ci  }
106461847f8eSopenharmony_ci
106561847f8eSopenharmony_ci  /**
106661847f8eSopenharmony_ci   * Get the state of enrolled credentials which varies as credentials change.
106761847f8eSopenharmony_ci   *
106861847f8eSopenharmony_ci   * @permission ohos.permission.ACCESS_BIOMETRIC
106961847f8eSopenharmony_ci   * @param { UserAuthType } authType - Credential type for authentication.
107061847f8eSopenharmony_ci   * @returns { EnrolledState } Returns the enrolled state.
107161847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission verification failed.
107261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Incorrect parameters. Possible causes:
107361847f8eSopenharmony_ci   * <br>1. Mandatory parameters are left unspecified.
107461847f8eSopenharmony_ci   * @throws { BusinessError } 12500002 - General operation error.
107561847f8eSopenharmony_ci   * @throws { BusinessError } 12500005 - The authentication type is not supported.
107661847f8eSopenharmony_ci   * @throws { BusinessError } 12500010 - The type of credential has not been enrolled.
107761847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
107861847f8eSopenharmony_ci   * @atomicservice
107961847f8eSopenharmony_ci   * @since 12
108061847f8eSopenharmony_ci   */
108161847f8eSopenharmony_ci  function getEnrolledState(authType: UserAuthType): EnrolledState;
108261847f8eSopenharmony_ci
108361847f8eSopenharmony_ci  /**
108461847f8eSopenharmony_ci   * Get Authentication instance.
108561847f8eSopenharmony_ci   *
108661847f8eSopenharmony_ci   * @param { Uint8Array } challenge - Pass in challenge value.
108761847f8eSopenharmony_ci   * @param { UserAuthType } authType - Credential type for authentication.
108861847f8eSopenharmony_ci   * @param { AuthTrustLevel } authTrustLevel - Trust level of authentication result.
108961847f8eSopenharmony_ci   * @returns { AuthInstance } Returns an authentication instance.
109061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Incorrect parameters.
109161847f8eSopenharmony_ci   * @throws { BusinessError } 12500002 - General operation error.
109261847f8eSopenharmony_ci   * @throws { BusinessError } 12500005 - The authentication type is not supported.
109361847f8eSopenharmony_ci   * @throws { BusinessError } 12500006 - The authentication trust level is not supported.
109461847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
109561847f8eSopenharmony_ci   * @since 9
109661847f8eSopenharmony_ci   * @deprecated since 10
109761847f8eSopenharmony_ci   * @useinstead ohos.userIAM.userAuth.getUserAuthInstance
109861847f8eSopenharmony_ci   */
109961847f8eSopenharmony_ci  function getAuthInstance(challenge: Uint8Array, authType: UserAuthType, authTrustLevel: AuthTrustLevel): AuthInstance;
110061847f8eSopenharmony_ci
110161847f8eSopenharmony_ci  /**
110261847f8eSopenharmony_ci   * Window mode type for user authentication widget.
110361847f8eSopenharmony_ci   *
110461847f8eSopenharmony_ci   * @enum { number }
110561847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
110661847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
110761847f8eSopenharmony_ci   * @since 10
110861847f8eSopenharmony_ci   */
110961847f8eSopenharmony_ci  enum WindowModeType {
111061847f8eSopenharmony_ci    /**
111161847f8eSopenharmony_ci     * Window mode type is dialog box.
111261847f8eSopenharmony_ci     *
111361847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
111461847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
111561847f8eSopenharmony_ci     * @since 10
111661847f8eSopenharmony_ci     */
111761847f8eSopenharmony_ci    DIALOG_BOX = 1,
111861847f8eSopenharmony_ci
111961847f8eSopenharmony_ci    /**
112061847f8eSopenharmony_ci     * Window mode type is full screen.
112161847f8eSopenharmony_ci     *
112261847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
112361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
112461847f8eSopenharmony_ci     * @since 10
112561847f8eSopenharmony_ci     */
112661847f8eSopenharmony_ci    FULLSCREEN = 2
112761847f8eSopenharmony_ci  }
112861847f8eSopenharmony_ci
112961847f8eSopenharmony_ci  /**
113061847f8eSopenharmony_ci   * The mode for reusing unlock authentication result.
113161847f8eSopenharmony_ci   *
113261847f8eSopenharmony_ci   * @enum { number }
113361847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
113461847f8eSopenharmony_ci   * @atomicservice
113561847f8eSopenharmony_ci   * @since 12
113661847f8eSopenharmony_ci   */
113761847f8eSopenharmony_ci  enum ReuseMode {
113861847f8eSopenharmony_ci    /**
113961847f8eSopenharmony_ci     * Authentication type relevant.The unlock authentication result can be reused only when the result is within
114061847f8eSopenharmony_ci     * valid duration as well as it comes from one of specified UserAuthTypes of the AuthParam.
114161847f8eSopenharmony_ci     *
114261847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
114361847f8eSopenharmony_ci     * @atomicservice
114461847f8eSopenharmony_ci     * @since 12
114561847f8eSopenharmony_ci     */
114661847f8eSopenharmony_ci    AUTH_TYPE_RELEVANT = 1,
114761847f8eSopenharmony_ci
114861847f8eSopenharmony_ci    /**
114961847f8eSopenharmony_ci     * Authentication type irrelevant.The unlock authentication result can be reused as long as the result is within
115061847f8eSopenharmony_ci     * valid duration.
115161847f8eSopenharmony_ci     *
115261847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
115361847f8eSopenharmony_ci     * @atomicservice
115461847f8eSopenharmony_ci     * @since 12
115561847f8eSopenharmony_ci     */
115661847f8eSopenharmony_ci    AUTH_TYPE_IRRELEVANT = 2
115761847f8eSopenharmony_ci  }
115861847f8eSopenharmony_ci
115961847f8eSopenharmony_ci  /**
116061847f8eSopenharmony_ci   * Reuse unlock authentication result.
116161847f8eSopenharmony_ci   *
116261847f8eSopenharmony_ci   * @typedef ReuseUnlockResult
116361847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
116461847f8eSopenharmony_ci   * @atomicservice
116561847f8eSopenharmony_ci   * @since 12
116661847f8eSopenharmony_ci   */
116761847f8eSopenharmony_ci  interface ReuseUnlockResult {
116861847f8eSopenharmony_ci    /**
116961847f8eSopenharmony_ci     * The mode for reusing unlock authentication result.
117061847f8eSopenharmony_ci     *
117161847f8eSopenharmony_ci     * @type { ReuseMode }
117261847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
117361847f8eSopenharmony_ci     * @atomicservice
117461847f8eSopenharmony_ci     * @since 12
117561847f8eSopenharmony_ci     */
117661847f8eSopenharmony_ci    reuseMode: ReuseMode;
117761847f8eSopenharmony_ci
117861847f8eSopenharmony_ci    /**
117961847f8eSopenharmony_ci     * The allowable reuse duration.The value of the duration should be between 0 and MAX_ALLOWABLE_REUSE_DURATION.
118061847f8eSopenharmony_ci     *
118161847f8eSopenharmony_ci     * @type { number }
118261847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
118361847f8eSopenharmony_ci     * @atomicservice
118461847f8eSopenharmony_ci     * @since 12
118561847f8eSopenharmony_ci     */
118661847f8eSopenharmony_ci    reuseDuration: number;
118761847f8eSopenharmony_ci  }
118861847f8eSopenharmony_ci
118961847f8eSopenharmony_ci  /**
119061847f8eSopenharmony_ci   * Auth parameter.
119161847f8eSopenharmony_ci   *
119261847f8eSopenharmony_ci   * @typedef AuthParam
119361847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
119461847f8eSopenharmony_ci   * @since 10
119561847f8eSopenharmony_ci   */
119661847f8eSopenharmony_ci  /**
119761847f8eSopenharmony_ci   * Auth parameter.
119861847f8eSopenharmony_ci   *
119961847f8eSopenharmony_ci   * @typedef AuthParam
120061847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
120161847f8eSopenharmony_ci   * @atomicservice
120261847f8eSopenharmony_ci   * @since 12
120361847f8eSopenharmony_ci   */
120461847f8eSopenharmony_ci  interface AuthParam {
120561847f8eSopenharmony_ci    /**
120661847f8eSopenharmony_ci     * Pass in challenge value.
120761847f8eSopenharmony_ci     *
120861847f8eSopenharmony_ci     * @type { Uint8Array }
120961847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
121061847f8eSopenharmony_ci     * @since 10
121161847f8eSopenharmony_ci     */
121261847f8eSopenharmony_ci    /**
121361847f8eSopenharmony_ci     * Pass in challenge value.
121461847f8eSopenharmony_ci     *
121561847f8eSopenharmony_ci     * @type { Uint8Array }
121661847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
121761847f8eSopenharmony_ci     * @atomicservice
121861847f8eSopenharmony_ci     * @since 12
121961847f8eSopenharmony_ci     */
122061847f8eSopenharmony_ci    challenge: Uint8Array;
122161847f8eSopenharmony_ci
122261847f8eSopenharmony_ci    /**
122361847f8eSopenharmony_ci     * Credential type for authentication.
122461847f8eSopenharmony_ci     *
122561847f8eSopenharmony_ci     * @type { UserAuthType[] }
122661847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
122761847f8eSopenharmony_ci     * @since 10
122861847f8eSopenharmony_ci     */
122961847f8eSopenharmony_ci    /**
123061847f8eSopenharmony_ci     * Credential type for authentication.
123161847f8eSopenharmony_ci     *
123261847f8eSopenharmony_ci     * @type { UserAuthType[] }
123361847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
123461847f8eSopenharmony_ci     * @atomicservice
123561847f8eSopenharmony_ci     * @since 12
123661847f8eSopenharmony_ci     */
123761847f8eSopenharmony_ci    authType: UserAuthType[];
123861847f8eSopenharmony_ci
123961847f8eSopenharmony_ci    /**
124061847f8eSopenharmony_ci     * Trust level of authentication result.
124161847f8eSopenharmony_ci     *
124261847f8eSopenharmony_ci     * @type { AuthTrustLevel }
124361847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
124461847f8eSopenharmony_ci     * @since 10
124561847f8eSopenharmony_ci     */
124661847f8eSopenharmony_ci    /**
124761847f8eSopenharmony_ci     * Trust level of authentication result.
124861847f8eSopenharmony_ci     *
124961847f8eSopenharmony_ci     * @type { AuthTrustLevel }
125061847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
125161847f8eSopenharmony_ci     * @atomicservice
125261847f8eSopenharmony_ci     * @since 12
125361847f8eSopenharmony_ci     */
125461847f8eSopenharmony_ci    authTrustLevel: AuthTrustLevel;
125561847f8eSopenharmony_ci
125661847f8eSopenharmony_ci    /**
125761847f8eSopenharmony_ci     * Reuse unlock authentication result.
125861847f8eSopenharmony_ci     *
125961847f8eSopenharmony_ci     * @type { ?ReuseUnlockResult }
126061847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
126161847f8eSopenharmony_ci     * @atomicservice
126261847f8eSopenharmony_ci     * @since 12
126361847f8eSopenharmony_ci     */
126461847f8eSopenharmony_ci    reuseUnlockResult?: ReuseUnlockResult;
126561847f8eSopenharmony_ci  }
126661847f8eSopenharmony_ci
126761847f8eSopenharmony_ci  /**
126861847f8eSopenharmony_ci   * Auth widget parameter.
126961847f8eSopenharmony_ci   *
127061847f8eSopenharmony_ci   * @typedef WidgetParam
127161847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
127261847f8eSopenharmony_ci   * @since 10
127361847f8eSopenharmony_ci   */
127461847f8eSopenharmony_ci  /**
127561847f8eSopenharmony_ci   * Auth widget parameter.
127661847f8eSopenharmony_ci   *
127761847f8eSopenharmony_ci   * @typedef WidgetParam
127861847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
127961847f8eSopenharmony_ci   * @atomicservice
128061847f8eSopenharmony_ci   * @since 12
128161847f8eSopenharmony_ci   */
128261847f8eSopenharmony_ci  interface WidgetParam {
128361847f8eSopenharmony_ci    /**
128461847f8eSopenharmony_ci     * Title of widget.
128561847f8eSopenharmony_ci     *
128661847f8eSopenharmony_ci     * @type { string }
128761847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
128861847f8eSopenharmony_ci     * @since 10
128961847f8eSopenharmony_ci     */
129061847f8eSopenharmony_ci    /**
129161847f8eSopenharmony_ci     * Title of widget.
129261847f8eSopenharmony_ci     *
129361847f8eSopenharmony_ci     * @type { string }
129461847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
129561847f8eSopenharmony_ci     * @atomicservice
129661847f8eSopenharmony_ci     * @since 12
129761847f8eSopenharmony_ci     */
129861847f8eSopenharmony_ci    title: string;
129961847f8eSopenharmony_ci
130061847f8eSopenharmony_ci    /**
130161847f8eSopenharmony_ci     * The description text of navigation button.
130261847f8eSopenharmony_ci     *
130361847f8eSopenharmony_ci     * @type { ?string }
130461847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
130561847f8eSopenharmony_ci     * @since 10
130661847f8eSopenharmony_ci     */
130761847f8eSopenharmony_ci    /**
130861847f8eSopenharmony_ci     * The description text of navigation button.
130961847f8eSopenharmony_ci     *
131061847f8eSopenharmony_ci     * @type { ?string }
131161847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
131261847f8eSopenharmony_ci     * @atomicservice
131361847f8eSopenharmony_ci     * @since 12
131461847f8eSopenharmony_ci     */
131561847f8eSopenharmony_ci    navigationButtonText?: string;
131661847f8eSopenharmony_ci
131761847f8eSopenharmony_ci    /**
131861847f8eSopenharmony_ci     * Display type of widget.
131961847f8eSopenharmony_ci     *
132061847f8eSopenharmony_ci     * @type { ?WindowModeType }
132161847f8eSopenharmony_ci     * @default WindowModeType.DIALOG_BOX
132261847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
132361847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
132461847f8eSopenharmony_ci     * @since 10
132561847f8eSopenharmony_ci     */
132661847f8eSopenharmony_ci    windowMode?: WindowModeType;
132761847f8eSopenharmony_ci  }
132861847f8eSopenharmony_ci
132961847f8eSopenharmony_ci  /**
133061847f8eSopenharmony_ci   * Authentication result: authentication token, credential type for authentication succeed.
133161847f8eSopenharmony_ci   *
133261847f8eSopenharmony_ci   * @typedef UserAuthResult
133361847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
133461847f8eSopenharmony_ci   * @since 10
133561847f8eSopenharmony_ci   */
133661847f8eSopenharmony_ci  /**
133761847f8eSopenharmony_ci   * Authentication result: authentication token, credential type for authentication succeed.
133861847f8eSopenharmony_ci   *
133961847f8eSopenharmony_ci   * @typedef UserAuthResult
134061847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
134161847f8eSopenharmony_ci   * @atomicservice
134261847f8eSopenharmony_ci   * @since 12
134361847f8eSopenharmony_ci   */
134461847f8eSopenharmony_ci  interface UserAuthResult {
134561847f8eSopenharmony_ci    /**
134661847f8eSopenharmony_ci     * The authentication result.
134761847f8eSopenharmony_ci     *
134861847f8eSopenharmony_ci     * @type { number }
134961847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
135061847f8eSopenharmony_ci     * @since 10
135161847f8eSopenharmony_ci     */
135261847f8eSopenharmony_ci    /**
135361847f8eSopenharmony_ci     * The authentication result.
135461847f8eSopenharmony_ci     *
135561847f8eSopenharmony_ci     * @type { number }
135661847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
135761847f8eSopenharmony_ci     * @atomicservice
135861847f8eSopenharmony_ci     * @since 12
135961847f8eSopenharmony_ci     */
136061847f8eSopenharmony_ci    result: number;
136161847f8eSopenharmony_ci
136261847f8eSopenharmony_ci    /**
136361847f8eSopenharmony_ci     * The authentication result if the authentication is passed.
136461847f8eSopenharmony_ci     *
136561847f8eSopenharmony_ci     * @type { ?Uint8Array }
136661847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
136761847f8eSopenharmony_ci     * @since 10
136861847f8eSopenharmony_ci     */
136961847f8eSopenharmony_ci    /**
137061847f8eSopenharmony_ci     * The authentication result if the authentication is passed.
137161847f8eSopenharmony_ci     *
137261847f8eSopenharmony_ci     * @type { ?Uint8Array }
137361847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
137461847f8eSopenharmony_ci     * @atomicservice
137561847f8eSopenharmony_ci     * @since 12
137661847f8eSopenharmony_ci     */
137761847f8eSopenharmony_ci    token?: Uint8Array;
137861847f8eSopenharmony_ci
137961847f8eSopenharmony_ci    /**
138061847f8eSopenharmony_ci     * Credential type for authentication succeed.
138161847f8eSopenharmony_ci     *
138261847f8eSopenharmony_ci     * @type { ?UserAuthType }
138361847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
138461847f8eSopenharmony_ci     * @since 10
138561847f8eSopenharmony_ci     */
138661847f8eSopenharmony_ci    /**
138761847f8eSopenharmony_ci     * Credential type for authentication succeed.
138861847f8eSopenharmony_ci     *
138961847f8eSopenharmony_ci     * @type { ?UserAuthType }
139061847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
139161847f8eSopenharmony_ci     * @atomicservice
139261847f8eSopenharmony_ci     * @since 12
139361847f8eSopenharmony_ci     */
139461847f8eSopenharmony_ci    authType?: UserAuthType;
139561847f8eSopenharmony_ci
139661847f8eSopenharmony_ci    /**
139761847f8eSopenharmony_ci     * The enrolled state for authentication succeed. EnrolledState would be returned when the authentication has
139861847f8eSopenharmony_ci     * passed.
139961847f8eSopenharmony_ci     *
140061847f8eSopenharmony_ci     * @type { ?EnrolledState }
140161847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
140261847f8eSopenharmony_ci     * @atomicservice
140361847f8eSopenharmony_ci     * @since 12
140461847f8eSopenharmony_ci     */
140561847f8eSopenharmony_ci    enrolledState?: EnrolledState;
140661847f8eSopenharmony_ci  }
140761847f8eSopenharmony_ci
140861847f8eSopenharmony_ci  /**
140961847f8eSopenharmony_ci   * Asynchronous callback of authentication operation.
141061847f8eSopenharmony_ci   *
141161847f8eSopenharmony_ci   * @interface IAuthCallback
141261847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
141361847f8eSopenharmony_ci   * @since 10
141461847f8eSopenharmony_ci   */
141561847f8eSopenharmony_ci  /**
141661847f8eSopenharmony_ci   * Asynchronous callback of authentication operation.
141761847f8eSopenharmony_ci   *
141861847f8eSopenharmony_ci   * @interface IAuthCallback
141961847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
142061847f8eSopenharmony_ci   * @atomicservice
142161847f8eSopenharmony_ci   * @since 12
142261847f8eSopenharmony_ci   */
142361847f8eSopenharmony_ci  interface IAuthCallback {
142461847f8eSopenharmony_ci    /**
142561847f8eSopenharmony_ci     * The authentication result code is returned through the callback.
142661847f8eSopenharmony_ci     * If the authentication is passed, the authentication token is returned in extraInfo.
142761847f8eSopenharmony_ci     *
142861847f8eSopenharmony_ci     * @param { UserAuthResult } result - Authentication result information.
142961847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
143061847f8eSopenharmony_ci     * @since 10
143161847f8eSopenharmony_ci     */
143261847f8eSopenharmony_ci    /**
143361847f8eSopenharmony_ci     * The authentication result code is returned through the callback.
143461847f8eSopenharmony_ci     * If the authentication is passed, the authentication token is returned in extraInfo.
143561847f8eSopenharmony_ci     *
143661847f8eSopenharmony_ci     * @param { UserAuthResult } result - Authentication result information.
143761847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
143861847f8eSopenharmony_ci     * @atomicservice
143961847f8eSopenharmony_ci     * @since 12
144061847f8eSopenharmony_ci     */
144161847f8eSopenharmony_ci    onResult(result: UserAuthResult): void;
144261847f8eSopenharmony_ci  }
144361847f8eSopenharmony_ci
144461847f8eSopenharmony_ci  /**
144561847f8eSopenharmony_ci   * User authentication instance, used to initiate a complete authentication.
144661847f8eSopenharmony_ci   *
144761847f8eSopenharmony_ci   * @interface UserAuthInstance
144861847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
144961847f8eSopenharmony_ci   * @since 10
145061847f8eSopenharmony_ci   */
145161847f8eSopenharmony_ci  /**
145261847f8eSopenharmony_ci   * User authentication instance, used to initiate a complete authentication.
145361847f8eSopenharmony_ci   *
145461847f8eSopenharmony_ci   * @interface UserAuthInstance
145561847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
145661847f8eSopenharmony_ci   * @atomicservice
145761847f8eSopenharmony_ci   * @since 12
145861847f8eSopenharmony_ci   */
145961847f8eSopenharmony_ci  interface UserAuthInstance {
146061847f8eSopenharmony_ci    /**
146161847f8eSopenharmony_ci     * Turn on widget authentication result event listening.
146261847f8eSopenharmony_ci     *
146361847f8eSopenharmony_ci     * @param { 'result' } type - Indicates the type of event.
146461847f8eSopenharmony_ci     * @param { IAuthCallback } callback - Indicates the listener.
146561847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Incorrect parameters. Possible causes:
146661847f8eSopenharmony_ci     * <br>1. Mandatory parameters are left unspecified.
146761847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
146861847f8eSopenharmony_ci     * <br>3. Parameter verification failed.
146961847f8eSopenharmony_ci     * @throws { BusinessError } 12500002 - General operation error.
147061847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
147161847f8eSopenharmony_ci     * @since 10
147261847f8eSopenharmony_ci     */
147361847f8eSopenharmony_ci    /**
147461847f8eSopenharmony_ci     * Turn on widget authentication result event listening.
147561847f8eSopenharmony_ci     *
147661847f8eSopenharmony_ci     * @param { 'result' } type - Indicates the type of event.
147761847f8eSopenharmony_ci     * @param { IAuthCallback } callback - Indicates the listener.
147861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Incorrect parameters. Possible causes:
147961847f8eSopenharmony_ci     * <br>1. Mandatory parameters are left unspecified.
148061847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
148161847f8eSopenharmony_ci     * <br>3. Parameter verification failed.
148261847f8eSopenharmony_ci     * @throws { BusinessError } 12500002 - General operation error.
148361847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
148461847f8eSopenharmony_ci     * @atomicservice
148561847f8eSopenharmony_ci     * @since 12
148661847f8eSopenharmony_ci     */
148761847f8eSopenharmony_ci    on(type: 'result', callback: IAuthCallback): void;
148861847f8eSopenharmony_ci
148961847f8eSopenharmony_ci    /**
149061847f8eSopenharmony_ci     * Turn off widget authentication result event listening.
149161847f8eSopenharmony_ci     *
149261847f8eSopenharmony_ci     * @param { 'result' } type - Indicates the type of event.
149361847f8eSopenharmony_ci     * @param { IAuthCallback } callback - Indicates the listener.
149461847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Incorrect parameters. Possible causes:
149561847f8eSopenharmony_ci     * <br>1. Mandatory parameters are left unspecified.
149661847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
149761847f8eSopenharmony_ci     * <br>3. Parameter verification failed.
149861847f8eSopenharmony_ci     * @throws { BusinessError } 12500002 - General operation error.
149961847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
150061847f8eSopenharmony_ci     * @since 10
150161847f8eSopenharmony_ci     */
150261847f8eSopenharmony_ci    /**
150361847f8eSopenharmony_ci     * Turn off widget authentication result event listening.
150461847f8eSopenharmony_ci     *
150561847f8eSopenharmony_ci     * @param { 'result' } type - Indicates the type of event.
150661847f8eSopenharmony_ci     * @param { IAuthCallback } callback - Indicates the listener.
150761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Incorrect parameters. Possible causes:
150861847f8eSopenharmony_ci     * <br>1. Mandatory parameters are left unspecified.
150961847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
151061847f8eSopenharmony_ci     * <br>3. Parameter verification failed.
151161847f8eSopenharmony_ci     * @throws { BusinessError } 12500002 - General operation error.
151261847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
151361847f8eSopenharmony_ci     * @atomicservice
151461847f8eSopenharmony_ci     * @since 12
151561847f8eSopenharmony_ci     */
151661847f8eSopenharmony_ci    off(type: 'result', callback?: IAuthCallback): void;
151761847f8eSopenharmony_ci
151861847f8eSopenharmony_ci    /**
151961847f8eSopenharmony_ci     * Start this authentication, an instance can only perform authentication once.
152061847f8eSopenharmony_ci     *
152161847f8eSopenharmony_ci     * @permission ohos.permission.ACCESS_BIOMETRIC
152261847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission verification failed.
152361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Incorrect parameters. Possible causes:
152461847f8eSopenharmony_ci     * <br>1. Incorrect parameter types.
152561847f8eSopenharmony_ci     * @throws { BusinessError } 12500001 - Authentication failed.
152661847f8eSopenharmony_ci     * @throws { BusinessError } 12500002 - General operation error.
152761847f8eSopenharmony_ci     * @throws { BusinessError } 12500003 - Authentication canceled.
152861847f8eSopenharmony_ci     * @throws { BusinessError } 12500004 - Authentication timeout.
152961847f8eSopenharmony_ci     * @throws { BusinessError } 12500005 - The authentication type is not supported.
153061847f8eSopenharmony_ci     * @throws { BusinessError } 12500006 - The authentication trust level is not supported.
153161847f8eSopenharmony_ci     * @throws { BusinessError } 12500007 - Authentication service is busy.
153261847f8eSopenharmony_ci     * @throws { BusinessError } 12500009 - Authentication is locked out.
153361847f8eSopenharmony_ci     * @throws { BusinessError } 12500010 - The type of credential has not been enrolled.
153461847f8eSopenharmony_ci     * @throws { BusinessError } 12500011 - Switched to the custom authentication process.
153561847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
153661847f8eSopenharmony_ci     * @since 10
153761847f8eSopenharmony_ci     */
153861847f8eSopenharmony_ci    /**
153961847f8eSopenharmony_ci     * Start this authentication, an instance can only perform authentication once.
154061847f8eSopenharmony_ci     *
154161847f8eSopenharmony_ci     * @permission ohos.permission.ACCESS_BIOMETRIC
154261847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission verification failed.
154361847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Incorrect parameters. Possible causes:
154461847f8eSopenharmony_ci     * <br>1. Incorrect parameter types.
154561847f8eSopenharmony_ci     * @throws { BusinessError } 12500001 - Authentication failed.
154661847f8eSopenharmony_ci     * @throws { BusinessError } 12500002 - General operation error.
154761847f8eSopenharmony_ci     * @throws { BusinessError } 12500003 - Authentication canceled.
154861847f8eSopenharmony_ci     * @throws { BusinessError } 12500004 - Authentication timeout.
154961847f8eSopenharmony_ci     * @throws { BusinessError } 12500005 - The authentication type is not supported.
155061847f8eSopenharmony_ci     * @throws { BusinessError } 12500006 - The authentication trust level is not supported.
155161847f8eSopenharmony_ci     * @throws { BusinessError } 12500007 - Authentication service is busy.
155261847f8eSopenharmony_ci     * @throws { BusinessError } 12500009 - Authentication is locked out.
155361847f8eSopenharmony_ci     * @throws { BusinessError } 12500010 - The type of credential has not been enrolled.
155461847f8eSopenharmony_ci     * @throws { BusinessError } 12500011 - Switched to the custom authentication process.
155561847f8eSopenharmony_ci     * @throws { BusinessError } 12500013 - Operation failed because of PIN expired.
155661847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
155761847f8eSopenharmony_ci     * @atomicservice
155861847f8eSopenharmony_ci     * @since 12
155961847f8eSopenharmony_ci     */
156061847f8eSopenharmony_ci    start(): void;
156161847f8eSopenharmony_ci
156261847f8eSopenharmony_ci    /**
156361847f8eSopenharmony_ci     * Cancel this authentication.
156461847f8eSopenharmony_ci     *
156561847f8eSopenharmony_ci     * @permission ohos.permission.ACCESS_BIOMETRIC
156661847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission verification failed.
156761847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Incorrect parameters. Possible causes:
156861847f8eSopenharmony_ci     * <br>1. Incorrect parameter types.
156961847f8eSopenharmony_ci     * @throws { BusinessError } 12500002 - General operation error.
157061847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
157161847f8eSopenharmony_ci     * @since 10
157261847f8eSopenharmony_ci     */
157361847f8eSopenharmony_ci    /**
157461847f8eSopenharmony_ci     * Cancel this authentication.
157561847f8eSopenharmony_ci     *
157661847f8eSopenharmony_ci     * @permission ohos.permission.ACCESS_BIOMETRIC
157761847f8eSopenharmony_ci     * @throws { BusinessError } 201 - Permission verification failed.
157861847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Incorrect parameters. Possible causes:
157961847f8eSopenharmony_ci     * <br>1. Incorrect parameter types.
158061847f8eSopenharmony_ci     * @throws { BusinessError } 12500002 - General operation error.
158161847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
158261847f8eSopenharmony_ci     * @atomicservice
158361847f8eSopenharmony_ci     * @since 12
158461847f8eSopenharmony_ci     */
158561847f8eSopenharmony_ci    cancel(): void;
158661847f8eSopenharmony_ci  }
158761847f8eSopenharmony_ci
158861847f8eSopenharmony_ci  /**
158961847f8eSopenharmony_ci   * Get user authentication instance with widget.
159061847f8eSopenharmony_ci   *
159161847f8eSopenharmony_ci   * @param { AuthParam } authParam - Auth parameter.
159261847f8eSopenharmony_ci   * @param { WidgetParam } widgetParam - Widget parameter.
159361847f8eSopenharmony_ci   * @returns { UserAuthInstance } Returns an authentication instance with widget.
159461847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Incorrect parameters. Possible causes:
159561847f8eSopenharmony_ci   * <br>1. Mandatory parameters are left unspecified.
159661847f8eSopenharmony_ci   * <br>2. Incorrect parameter types. 
159761847f8eSopenharmony_ci   * <br>3. Parameter verification failed.
159861847f8eSopenharmony_ci   * @throws { BusinessError } 12500002 - General operation error.
159961847f8eSopenharmony_ci   * @throws { BusinessError } 12500005 - The authentication type is not supported.
160061847f8eSopenharmony_ci   * @throws { BusinessError } 12500006 - The authentication trust level is not supported.
160161847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
160261847f8eSopenharmony_ci   * @since 10
160361847f8eSopenharmony_ci   */
160461847f8eSopenharmony_ci  /**
160561847f8eSopenharmony_ci   * Get user authentication instance with widget.
160661847f8eSopenharmony_ci   *
160761847f8eSopenharmony_ci   * @param { AuthParam } authParam - Auth parameter.
160861847f8eSopenharmony_ci   * @param { WidgetParam } widgetParam - Widget parameter.
160961847f8eSopenharmony_ci   * @returns { UserAuthInstance } Returns an authentication instance with widget.
161061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Incorrect parameters. Possible causes:
161161847f8eSopenharmony_ci   * <br>1. Mandatory parameters are left unspecified.
161261847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
161361847f8eSopenharmony_ci   * <br>3. Parameter verification failed.
161461847f8eSopenharmony_ci   * @throws { BusinessError } 12500002 - General operation error.
161561847f8eSopenharmony_ci   * @throws { BusinessError } 12500005 - The authentication type is not supported.
161661847f8eSopenharmony_ci   * @throws { BusinessError } 12500006 - The authentication trust level is not supported.
161761847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
161861847f8eSopenharmony_ci   * @atomicservice
161961847f8eSopenharmony_ci   * @since 12
162061847f8eSopenharmony_ci   */
162161847f8eSopenharmony_ci  function getUserAuthInstance(authParam: AuthParam, widgetParam: WidgetParam): UserAuthInstance;
162261847f8eSopenharmony_ci
162361847f8eSopenharmony_ci  /**
162461847f8eSopenharmony_ci   * Notice type for user authentication.
162561847f8eSopenharmony_ci   *
162661847f8eSopenharmony_ci   * @enum { number }
162761847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
162861847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
162961847f8eSopenharmony_ci   * @since 10
163061847f8eSopenharmony_ci   */
163161847f8eSopenharmony_ci  enum NoticeType {
163261847f8eSopenharmony_ci    /**
163361847f8eSopenharmony_ci     * Notice from widget.
163461847f8eSopenharmony_ci     *
163561847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
163661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
163761847f8eSopenharmony_ci     * @since 10
163861847f8eSopenharmony_ci     */
163961847f8eSopenharmony_ci    WIDGET_NOTICE = 1
164061847f8eSopenharmony_ci  }
164161847f8eSopenharmony_ci
164261847f8eSopenharmony_ci  /**
164361847f8eSopenharmony_ci   * Send notice to user authentication.
164461847f8eSopenharmony_ci   *
164561847f8eSopenharmony_ci   * @permission ohos.permission.SUPPORT_USER_AUTH
164661847f8eSopenharmony_ci   * @param { NoticeType } noticeType - Notice type for user authentication.
164761847f8eSopenharmony_ci   * @param { string } eventData - The event data from widget.
164861847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission verification failed.
164961847f8eSopenharmony_ci   * @throws { BusinessError } 202 - The caller is not a system application.
165061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Incorrect parameters. Possible causes:
165161847f8eSopenharmony_ci   * <br>1. Mandatory parameters are left unspecified.
165261847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
165361847f8eSopenharmony_ci   * <br>3. Parameter verification failed.
165461847f8eSopenharmony_ci   * @throws { BusinessError } 12500002 - General operation error.
165561847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
165661847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
165761847f8eSopenharmony_ci   * @since 10
165861847f8eSopenharmony_ci   */
165961847f8eSopenharmony_ci  function sendNotice(noticeType: NoticeType, eventData: string): void;
166061847f8eSopenharmony_ci
166161847f8eSopenharmony_ci  /**
166261847f8eSopenharmony_ci   * Enum for operation result.
166361847f8eSopenharmony_ci   *
166461847f8eSopenharmony_ci   * @enum { number }
166561847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
166661847f8eSopenharmony_ci   * @since 9
166761847f8eSopenharmony_ci   */
166861847f8eSopenharmony_ci  /**
166961847f8eSopenharmony_ci   * Enum for operation result.
167061847f8eSopenharmony_ci   *
167161847f8eSopenharmony_ci   * @enum { number }
167261847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
167361847f8eSopenharmony_ci   * @atomicservice
167461847f8eSopenharmony_ci   * @since 12
167561847f8eSopenharmony_ci   */
167661847f8eSopenharmony_ci  enum UserAuthResultCode {
167761847f8eSopenharmony_ci    /**
167861847f8eSopenharmony_ci     * Indicates that the result is success or ability is supported.
167961847f8eSopenharmony_ci     *
168061847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
168161847f8eSopenharmony_ci     * @since 9
168261847f8eSopenharmony_ci     */
168361847f8eSopenharmony_ci    /**
168461847f8eSopenharmony_ci     * Indicates that the result is success or ability is supported.
168561847f8eSopenharmony_ci     *
168661847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
168761847f8eSopenharmony_ci     * @atomicservice
168861847f8eSopenharmony_ci     * @since 12
168961847f8eSopenharmony_ci     */
169061847f8eSopenharmony_ci    SUCCESS = 12500000,
169161847f8eSopenharmony_ci
169261847f8eSopenharmony_ci    /**
169361847f8eSopenharmony_ci     * Indicates that the authentication result is failed.
169461847f8eSopenharmony_ci     *
169561847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
169661847f8eSopenharmony_ci     * @since 9
169761847f8eSopenharmony_ci     */
169861847f8eSopenharmony_ci    /**
169961847f8eSopenharmony_ci     * Indicates that the authentication result is failed.
170061847f8eSopenharmony_ci     *
170161847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
170261847f8eSopenharmony_ci     * @atomicservice
170361847f8eSopenharmony_ci     * @since 12
170461847f8eSopenharmony_ci     */
170561847f8eSopenharmony_ci    FAIL = 12500001,
170661847f8eSopenharmony_ci
170761847f8eSopenharmony_ci    /**
170861847f8eSopenharmony_ci     * Indicates other errors.
170961847f8eSopenharmony_ci     *
171061847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
171161847f8eSopenharmony_ci     * @since 9
171261847f8eSopenharmony_ci     */
171361847f8eSopenharmony_ci    /**
171461847f8eSopenharmony_ci     * Indicates other errors.
171561847f8eSopenharmony_ci     *
171661847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
171761847f8eSopenharmony_ci     * @atomicservice
171861847f8eSopenharmony_ci     * @since 12
171961847f8eSopenharmony_ci     */
172061847f8eSopenharmony_ci    GENERAL_ERROR = 12500002,
172161847f8eSopenharmony_ci
172261847f8eSopenharmony_ci    /**
172361847f8eSopenharmony_ci     * Indicates that this operation is canceled.
172461847f8eSopenharmony_ci     *
172561847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
172661847f8eSopenharmony_ci     * @since 9
172761847f8eSopenharmony_ci     */
172861847f8eSopenharmony_ci    /**
172961847f8eSopenharmony_ci     * Indicates that this operation is canceled.
173061847f8eSopenharmony_ci     *
173161847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
173261847f8eSopenharmony_ci     * @atomicservice
173361847f8eSopenharmony_ci     * @since 12
173461847f8eSopenharmony_ci     */
173561847f8eSopenharmony_ci    CANCELED = 12500003,
173661847f8eSopenharmony_ci
173761847f8eSopenharmony_ci    /**
173861847f8eSopenharmony_ci     * Indicates that this operation is time-out.
173961847f8eSopenharmony_ci     *
174061847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
174161847f8eSopenharmony_ci     * @since 9
174261847f8eSopenharmony_ci     */
174361847f8eSopenharmony_ci    /**
174461847f8eSopenharmony_ci     * Indicates that this operation is time-out.
174561847f8eSopenharmony_ci     *
174661847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
174761847f8eSopenharmony_ci     * @atomicservice
174861847f8eSopenharmony_ci     * @since 12
174961847f8eSopenharmony_ci     */
175061847f8eSopenharmony_ci    TIMEOUT = 12500004,
175161847f8eSopenharmony_ci
175261847f8eSopenharmony_ci    /**
175361847f8eSopenharmony_ci     * Indicates that this authentication type is not supported.
175461847f8eSopenharmony_ci     *
175561847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
175661847f8eSopenharmony_ci     * @since 9
175761847f8eSopenharmony_ci     */
175861847f8eSopenharmony_ci    /**
175961847f8eSopenharmony_ci     * Indicates that this authentication type is not supported.
176061847f8eSopenharmony_ci     *
176161847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
176261847f8eSopenharmony_ci     * @atomicservice
176361847f8eSopenharmony_ci     * @since 12
176461847f8eSopenharmony_ci     */
176561847f8eSopenharmony_ci    TYPE_NOT_SUPPORT = 12500005,
176661847f8eSopenharmony_ci
176761847f8eSopenharmony_ci    /**
176861847f8eSopenharmony_ci     * Indicates that the authentication trust level is not supported.
176961847f8eSopenharmony_ci     *
177061847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
177161847f8eSopenharmony_ci     * @since 9
177261847f8eSopenharmony_ci     */
177361847f8eSopenharmony_ci    /**
177461847f8eSopenharmony_ci     * Indicates that the authentication trust level is not supported.
177561847f8eSopenharmony_ci     *
177661847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
177761847f8eSopenharmony_ci     * @atomicservice
177861847f8eSopenharmony_ci     * @since 12
177961847f8eSopenharmony_ci     */
178061847f8eSopenharmony_ci    TRUST_LEVEL_NOT_SUPPORT = 12500006,
178161847f8eSopenharmony_ci
178261847f8eSopenharmony_ci    /**
178361847f8eSopenharmony_ci     * Indicates that the authentication task is busy. Wait for a few seconds and try again.
178461847f8eSopenharmony_ci     *
178561847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
178661847f8eSopenharmony_ci     * @since 9
178761847f8eSopenharmony_ci     */
178861847f8eSopenharmony_ci    /**
178961847f8eSopenharmony_ci     * Indicates that the authentication task is busy. Wait for a few seconds and try again.
179061847f8eSopenharmony_ci     *
179161847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
179261847f8eSopenharmony_ci     * @atomicservice
179361847f8eSopenharmony_ci     * @since 12
179461847f8eSopenharmony_ci     */
179561847f8eSopenharmony_ci    BUSY = 12500007,
179661847f8eSopenharmony_ci
179761847f8eSopenharmony_ci    /**
179861847f8eSopenharmony_ci     * Indicates that the authenticator is locked.
179961847f8eSopenharmony_ci     *
180061847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
180161847f8eSopenharmony_ci     * @since 9
180261847f8eSopenharmony_ci     */
180361847f8eSopenharmony_ci    /**
180461847f8eSopenharmony_ci     * Indicates that the authenticator is locked.
180561847f8eSopenharmony_ci     *
180661847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
180761847f8eSopenharmony_ci     * @atomicservice
180861847f8eSopenharmony_ci     * @since 12
180961847f8eSopenharmony_ci     */
181061847f8eSopenharmony_ci    LOCKED = 12500009,
181161847f8eSopenharmony_ci
181261847f8eSopenharmony_ci    /**
181361847f8eSopenharmony_ci     * Indicates that the user has not enrolled the authenticator.
181461847f8eSopenharmony_ci     *
181561847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
181661847f8eSopenharmony_ci     * @since 9
181761847f8eSopenharmony_ci     */
181861847f8eSopenharmony_ci    /**
181961847f8eSopenharmony_ci     * Indicates that the user has not enrolled the authenticator.
182061847f8eSopenharmony_ci     *
182161847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
182261847f8eSopenharmony_ci     * @atomicservice
182361847f8eSopenharmony_ci     * @since 12
182461847f8eSopenharmony_ci     */
182561847f8eSopenharmony_ci    NOT_ENROLLED = 12500010,
182661847f8eSopenharmony_ci
182761847f8eSopenharmony_ci    /**
182861847f8eSopenharmony_ci     * Indicates that this operation is canceled from widget's navigation button.
182961847f8eSopenharmony_ci     *
183061847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
183161847f8eSopenharmony_ci     * @since 10
183261847f8eSopenharmony_ci     */
183361847f8eSopenharmony_ci    /**
183461847f8eSopenharmony_ci     * Indicates that this operation is canceled from widget's navigation button.
183561847f8eSopenharmony_ci     *
183661847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
183761847f8eSopenharmony_ci     * @atomicservice
183861847f8eSopenharmony_ci     * @since 12
183961847f8eSopenharmony_ci     */
184061847f8eSopenharmony_ci    CANCELED_FROM_WIDGET = 12500011,
184161847f8eSopenharmony_ci
184261847f8eSopenharmony_ci    /**
184361847f8eSopenharmony_ci     * Indicates that current operation failed because of PIN expired.
184461847f8eSopenharmony_ci     *
184561847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
184661847f8eSopenharmony_ci     * @atomicservice
184761847f8eSopenharmony_ci     * @since 12
184861847f8eSopenharmony_ci     */
184961847f8eSopenharmony_ci    PIN_EXPIRED = 12500013
185061847f8eSopenharmony_ci  }
185161847f8eSopenharmony_ci
185261847f8eSopenharmony_ci  /**
185361847f8eSopenharmony_ci   * User authentication widget's manager, used to manage widget's client.
185461847f8eSopenharmony_ci   *
185561847f8eSopenharmony_ci   * @interface UserAuthWidgetMgr
185661847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
185761847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
185861847f8eSopenharmony_ci   * @since 10
185961847f8eSopenharmony_ci   */
186061847f8eSopenharmony_ci  interface UserAuthWidgetMgr {
186161847f8eSopenharmony_ci    /**
186261847f8eSopenharmony_ci     * Turn on authentication widget command event listening.
186361847f8eSopenharmony_ci     *
186461847f8eSopenharmony_ci     * @param { 'command' } type - Indicates the type of event.
186561847f8eSopenharmony_ci     * @param { IAuthWidgetCallback } callback - Indicates the listener.
186661847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Incorrect parameters. Possible causes:
186761847f8eSopenharmony_ci     * <br>1. Mandatory parameters are left unspecified.
186861847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
186961847f8eSopenharmony_ci     * <br>3. Parameter verification failed.
187061847f8eSopenharmony_ci     * @throws { BusinessError } 12500002 - General operation error.
187161847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
187261847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
187361847f8eSopenharmony_ci     * @since 10
187461847f8eSopenharmony_ci     */
187561847f8eSopenharmony_ci    on(type: 'command', callback: IAuthWidgetCallback): void;
187661847f8eSopenharmony_ci
187761847f8eSopenharmony_ci    /**
187861847f8eSopenharmony_ci     * Turn off authentication widget command event listening.
187961847f8eSopenharmony_ci     *
188061847f8eSopenharmony_ci     * @param { 'command' } type - Indicates the type of event.
188161847f8eSopenharmony_ci     * @param { IAuthWidgetCallback } callback - Indicates the listener.
188261847f8eSopenharmony_ci     * @throws { BusinessError } 401 - Incorrect parameters. Possible causes:
188361847f8eSopenharmony_ci     * <br>1. Mandatory parameters are left unspecified.
188461847f8eSopenharmony_ci     * <br>2. Incorrect parameter types.
188561847f8eSopenharmony_ci     * <br>3. Parameter verification failed.
188661847f8eSopenharmony_ci     * @throws { BusinessError } 12500002 - General operation error.
188761847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
188861847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
188961847f8eSopenharmony_ci     * @since 10
189061847f8eSopenharmony_ci     */
189161847f8eSopenharmony_ci    off(type: 'command', callback?: IAuthWidgetCallback): void;
189261847f8eSopenharmony_ci  }
189361847f8eSopenharmony_ci
189461847f8eSopenharmony_ci  /**
189561847f8eSopenharmony_ci   * Get authentication instance with widget.
189661847f8eSopenharmony_ci   *
189761847f8eSopenharmony_ci   * @permission ohos.permission.SUPPORT_USER_AUTH
189861847f8eSopenharmony_ci   * @param { number } version - The version of widget.
189961847f8eSopenharmony_ci   * @returns { UserAuthWidgetMgr } Returns an authentication manager.
190061847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission verification failed.
190161847f8eSopenharmony_ci   * @throws { BusinessError } 202 - The caller is not a system application.
190261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - Incorrect parameters. Possible causes:
190361847f8eSopenharmony_ci   * <br>1. Mandatory parameters are left unspecified.
190461847f8eSopenharmony_ci   * <br>2. Incorrect parameter types.
190561847f8eSopenharmony_ci   * @throws { BusinessError } 12500002 - General operation error.
190661847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
190761847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
190861847f8eSopenharmony_ci   * @since 10
190961847f8eSopenharmony_ci   */
191061847f8eSopenharmony_ci  function getUserAuthWidgetMgr(version: number): UserAuthWidgetMgr;
191161847f8eSopenharmony_ci
191261847f8eSopenharmony_ci  /**
191361847f8eSopenharmony_ci   * Asynchronous callback of authentication widget operation.
191461847f8eSopenharmony_ci   *
191561847f8eSopenharmony_ci   * @interface IAuthWidgetCallback
191661847f8eSopenharmony_ci   * @syscap SystemCapability.UserIAM.UserAuth.Core
191761847f8eSopenharmony_ci   * @systemapi Hide this for inner system use.
191861847f8eSopenharmony_ci   * @since 10
191961847f8eSopenharmony_ci   */
192061847f8eSopenharmony_ci  interface IAuthWidgetCallback {
192161847f8eSopenharmony_ci    /**
192261847f8eSopenharmony_ci     * The command data for authentication with widget is sent through the callback.
192361847f8eSopenharmony_ci     *
192461847f8eSopenharmony_ci     * @param { string } cmdData - The command data for authentication with widget.
192561847f8eSopenharmony_ci     * @syscap SystemCapability.UserIAM.UserAuth.Core
192661847f8eSopenharmony_ci     * @systemapi Hide this for inner system use.
192761847f8eSopenharmony_ci     * @since 10
192861847f8eSopenharmony_ci     */
192961847f8eSopenharmony_ci    sendCommand(cmdData: string): void;
193061847f8eSopenharmony_ci  }
193161847f8eSopenharmony_ci}
193261847f8eSopenharmony_ci
193361847f8eSopenharmony_ciexport default userAuth;
1934