161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci * Copyright (c) 2022-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 ArkUI
1961847f8eSopenharmony_ci */
2061847f8eSopenharmony_ci
2161847f8eSopenharmony_ci/**
2261847f8eSopenharmony_ci * Indicates the information of the route page.
2361847f8eSopenharmony_ci *
2461847f8eSopenharmony_ci * @interface RouteInfo
2561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
2661847f8eSopenharmony_ci * @crossplatform
2761847f8eSopenharmony_ci * @since 10
2861847f8eSopenharmony_ci */
2961847f8eSopenharmony_ci/**
3061847f8eSopenharmony_ci * Indicates the information of the route page.
3161847f8eSopenharmony_ci *
3261847f8eSopenharmony_ci * @interface RouteInfo
3361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
3461847f8eSopenharmony_ci * @crossplatform
3561847f8eSopenharmony_ci * @atomicservice
3661847f8eSopenharmony_ci * @since 11
3761847f8eSopenharmony_ci * @deprecated since 13
3861847f8eSopenharmony_ci */
3961847f8eSopenharmony_cideclare interface RouteInfo {
4061847f8eSopenharmony_ci  /**
4161847f8eSopenharmony_ci   * The name of the route page.
4261847f8eSopenharmony_ci   *
4361847f8eSopenharmony_ci   * @type { string }
4461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
4561847f8eSopenharmony_ci   * @crossplatform
4661847f8eSopenharmony_ci   * @since 10
4761847f8eSopenharmony_ci   */
4861847f8eSopenharmony_ci  /**
4961847f8eSopenharmony_ci   * The name of the route page.
5061847f8eSopenharmony_ci   *
5161847f8eSopenharmony_ci   * @type { string }
5261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
5361847f8eSopenharmony_ci   * @crossplatform
5461847f8eSopenharmony_ci   * @atomicservice
5561847f8eSopenharmony_ci   * @since 11
5661847f8eSopenharmony_ci   * @deprecated since 13
5761847f8eSopenharmony_ci   */
5861847f8eSopenharmony_ci  name: string;
5961847f8eSopenharmony_ci
6061847f8eSopenharmony_ci  /**
6161847f8eSopenharmony_ci   * The detailed parameter of the route page.
6261847f8eSopenharmony_ci   *
6361847f8eSopenharmony_ci   * @type { ?unknown }
6461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
6561847f8eSopenharmony_ci   * @crossplatform
6661847f8eSopenharmony_ci   * @since 10
6761847f8eSopenharmony_ci   */
6861847f8eSopenharmony_ci  /**
6961847f8eSopenharmony_ci   * The detailed parameter of the route page.
7061847f8eSopenharmony_ci   *
7161847f8eSopenharmony_ci   * @type { ?unknown }
7261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
7361847f8eSopenharmony_ci   * @crossplatform
7461847f8eSopenharmony_ci   * @atomicservice
7561847f8eSopenharmony_ci   * @since 11
7661847f8eSopenharmony_ci   * @deprecated since 13
7761847f8eSopenharmony_ci   */
7861847f8eSopenharmony_ci  param?: unknown;
7961847f8eSopenharmony_ci}
8061847f8eSopenharmony_ci
8161847f8eSopenharmony_ci/**
8261847f8eSopenharmony_ci * The construct function of NavRouter.
8361847f8eSopenharmony_ci *
8461847f8eSopenharmony_ci * @interface NavRouterInterface
8561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
8661847f8eSopenharmony_ci * @since 9
8761847f8eSopenharmony_ci */
8861847f8eSopenharmony_ci/**
8961847f8eSopenharmony_ci * The construct function of NavRouter.
9061847f8eSopenharmony_ci *
9161847f8eSopenharmony_ci * @interface NavRouterInterface
9261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
9361847f8eSopenharmony_ci * @crossplatform
9461847f8eSopenharmony_ci * @since 10
9561847f8eSopenharmony_ci */
9661847f8eSopenharmony_ci/**
9761847f8eSopenharmony_ci * The construct function of NavRouter.
9861847f8eSopenharmony_ci *
9961847f8eSopenharmony_ci * @interface NavRouterInterface
10061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
10161847f8eSopenharmony_ci * @crossplatform
10261847f8eSopenharmony_ci * @atomicservice
10361847f8eSopenharmony_ci * @since 11
10461847f8eSopenharmony_ci * @deprecated since 13
10561847f8eSopenharmony_ci */
10661847f8eSopenharmony_cideclare interface NavRouterInterface {
10761847f8eSopenharmony_ci  /**
10861847f8eSopenharmony_ci   * Constructor.
10961847f8eSopenharmony_ci   *
11061847f8eSopenharmony_ci   * @returns { NavRouterAttribute }
11161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
11261847f8eSopenharmony_ci   * @since 9
11361847f8eSopenharmony_ci   */
11461847f8eSopenharmony_ci  /**
11561847f8eSopenharmony_ci   * Constructor.
11661847f8eSopenharmony_ci   *
11761847f8eSopenharmony_ci   * @returns { NavRouterAttribute }
11861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
11961847f8eSopenharmony_ci   * @crossplatform
12061847f8eSopenharmony_ci   * @since 10
12161847f8eSopenharmony_ci   */
12261847f8eSopenharmony_ci  /**
12361847f8eSopenharmony_ci   * Constructor.
12461847f8eSopenharmony_ci   *
12561847f8eSopenharmony_ci   * @returns { NavRouterAttribute }
12661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
12761847f8eSopenharmony_ci   * @crossplatform
12861847f8eSopenharmony_ci   * @atomicservice
12961847f8eSopenharmony_ci   * @since 11
13061847f8eSopenharmony_ci   * @deprecated since 13
13161847f8eSopenharmony_ci   */
13261847f8eSopenharmony_ci  (): NavRouterAttribute;
13361847f8eSopenharmony_ci
13461847f8eSopenharmony_ci  /**
13561847f8eSopenharmony_ci   * NavDestination Constructor.
13661847f8eSopenharmony_ci   *
13761847f8eSopenharmony_ci   * @param { RouteInfo } value - Indicates the information of route page.
13861847f8eSopenharmony_ci   * @returns { NavRouterAttribute }
13961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
14061847f8eSopenharmony_ci   * @crossplatform
14161847f8eSopenharmony_ci   * @since 10
14261847f8eSopenharmony_ci   */
14361847f8eSopenharmony_ci  /**
14461847f8eSopenharmony_ci   * NavDestination Constructor.
14561847f8eSopenharmony_ci   *
14661847f8eSopenharmony_ci   * @param { RouteInfo } value - Indicates the information of route page.
14761847f8eSopenharmony_ci   * @returns { NavRouterAttribute }
14861847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
14961847f8eSopenharmony_ci   * @crossplatform
15061847f8eSopenharmony_ci   * @atomicservice
15161847f8eSopenharmony_ci   * @since 11
15261847f8eSopenharmony_ci   * @deprecated since 13
15361847f8eSopenharmony_ci   */
15461847f8eSopenharmony_ci  (value: RouteInfo): NavRouterAttribute;
15561847f8eSopenharmony_ci}
15661847f8eSopenharmony_ci
15761847f8eSopenharmony_ci/**
15861847f8eSopenharmony_ci * Define the route mode.
15961847f8eSopenharmony_ci *
16061847f8eSopenharmony_ci * @enum { number }
16161847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
16261847f8eSopenharmony_ci * @crossplatform
16361847f8eSopenharmony_ci * @since 10
16461847f8eSopenharmony_ci */
16561847f8eSopenharmony_ci/**
16661847f8eSopenharmony_ci * Define the route mode.
16761847f8eSopenharmony_ci *
16861847f8eSopenharmony_ci * @enum { number }
16961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
17061847f8eSopenharmony_ci * @crossplatform
17161847f8eSopenharmony_ci * @atomicservice
17261847f8eSopenharmony_ci * @since 11
17361847f8eSopenharmony_ci * @deprecated since 13
17461847f8eSopenharmony_ci */
17561847f8eSopenharmony_cideclare enum NavRouteMode {
17661847f8eSopenharmony_ci  /**
17761847f8eSopenharmony_ci   * Create a new page to replace the current. The old page is destroyed but kept in the stack for recreating. 
17861847f8eSopenharmony_ci   *
17961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
18061847f8eSopenharmony_ci   * @crossplatform
18161847f8eSopenharmony_ci   * @since 10
18261847f8eSopenharmony_ci   */
18361847f8eSopenharmony_ci  /**
18461847f8eSopenharmony_ci   * Create a new page to replace the current. The old page is destroyed but kept in the stack for recreating. 
18561847f8eSopenharmony_ci   *
18661847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
18761847f8eSopenharmony_ci   * @crossplatform
18861847f8eSopenharmony_ci   * @atomicservice
18961847f8eSopenharmony_ci   * @since 11
19061847f8eSopenharmony_ci   * @deprecated since 13
19161847f8eSopenharmony_ci   */
19261847f8eSopenharmony_ci  PUSH_WITH_RECREATE,
19361847f8eSopenharmony_ci
19461847f8eSopenharmony_ci  /**
19561847f8eSopenharmony_ci   * Create a new page to cover the current. The old page is remained and kept in the stack. 
19661847f8eSopenharmony_ci   *
19761847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
19861847f8eSopenharmony_ci   * @crossplatform
19961847f8eSopenharmony_ci   * @since 10
20061847f8eSopenharmony_ci   */
20161847f8eSopenharmony_ci  /**
20261847f8eSopenharmony_ci   * Create a new page to cover the current. The old page is remained and kept in the stack. 
20361847f8eSopenharmony_ci   *
20461847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
20561847f8eSopenharmony_ci   * @crossplatform
20661847f8eSopenharmony_ci   * @atomicservice
20761847f8eSopenharmony_ci   * @since 11
20861847f8eSopenharmony_ci   * @deprecated since 13
20961847f8eSopenharmony_ci   */
21061847f8eSopenharmony_ci  PUSH,
21161847f8eSopenharmony_ci
21261847f8eSopenharmony_ci  /**
21361847f8eSopenharmony_ci   * Create a new page to replace the current. The old page is destroyed and removed out of the stack.
21461847f8eSopenharmony_ci   *
21561847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
21661847f8eSopenharmony_ci   * @crossplatform
21761847f8eSopenharmony_ci   * @since 10
21861847f8eSopenharmony_ci   */
21961847f8eSopenharmony_ci  /**
22061847f8eSopenharmony_ci   * Create a new page to replace the current. The old page is destroyed and removed out of the stack.
22161847f8eSopenharmony_ci   *
22261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
22361847f8eSopenharmony_ci   * @crossplatform
22461847f8eSopenharmony_ci   * @atomicservice
22561847f8eSopenharmony_ci   * @since 11
22661847f8eSopenharmony_ci   * @deprecated since 13
22761847f8eSopenharmony_ci   */
22861847f8eSopenharmony_ci  REPLACE
22961847f8eSopenharmony_ci}
23061847f8eSopenharmony_ci
23161847f8eSopenharmony_ci/**
23261847f8eSopenharmony_ci * The attribute function of NavRouter
23361847f8eSopenharmony_ci *
23461847f8eSopenharmony_ci * @extends CommonMethod<NavRouterAttribute>
23561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
23661847f8eSopenharmony_ci * @since 9
23761847f8eSopenharmony_ci */
23861847f8eSopenharmony_ci/**
23961847f8eSopenharmony_ci * The attribute function of NavRouter
24061847f8eSopenharmony_ci *
24161847f8eSopenharmony_ci * @extends CommonMethod<NavRouterAttribute>
24261847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
24361847f8eSopenharmony_ci * @crossplatform
24461847f8eSopenharmony_ci * @since 10
24561847f8eSopenharmony_ci */
24661847f8eSopenharmony_ci/**
24761847f8eSopenharmony_ci * The attribute function of NavRouter
24861847f8eSopenharmony_ci *
24961847f8eSopenharmony_ci * @extends CommonMethod<NavRouterAttribute>
25061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
25161847f8eSopenharmony_ci * @crossplatform
25261847f8eSopenharmony_ci * @atomicservice
25361847f8eSopenharmony_ci * @since 11
25461847f8eSopenharmony_ci * @deprecated since 13
25561847f8eSopenharmony_ci */
25661847f8eSopenharmony_cideclare class NavRouterAttribute extends CommonMethod<NavRouterAttribute> {
25761847f8eSopenharmony_ci  /**
25861847f8eSopenharmony_ci   * Trigger callback when NavigationView state change.
25961847f8eSopenharmony_ci   *
26061847f8eSopenharmony_ci   * @param { function } callback
26161847f8eSopenharmony_ci   * @returns { NavRouterAttribute }
26261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
26361847f8eSopenharmony_ci   * @since 9
26461847f8eSopenharmony_ci   */
26561847f8eSopenharmony_ci  /**
26661847f8eSopenharmony_ci   * Trigger callback when NavigationView state change.
26761847f8eSopenharmony_ci   *
26861847f8eSopenharmony_ci   * @param { function } callback
26961847f8eSopenharmony_ci   * @returns { NavRouterAttribute }
27061847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
27161847f8eSopenharmony_ci   * @crossplatform
27261847f8eSopenharmony_ci   * @since 10
27361847f8eSopenharmony_ci   */
27461847f8eSopenharmony_ci  /**
27561847f8eSopenharmony_ci   * Trigger callback when NavigationView state change.
27661847f8eSopenharmony_ci   *
27761847f8eSopenharmony_ci   * @param { function } callback
27861847f8eSopenharmony_ci   * @returns { NavRouterAttribute }
27961847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
28061847f8eSopenharmony_ci   * @crossplatform
28161847f8eSopenharmony_ci   * @atomicservice
28261847f8eSopenharmony_ci   * @since 11
28361847f8eSopenharmony_ci   * @deprecated since 13
28461847f8eSopenharmony_ci   */
28561847f8eSopenharmony_ci  onStateChange(callback: (isActivated: boolean) => void): NavRouterAttribute;
28661847f8eSopenharmony_ci
28761847f8eSopenharmony_ci  /**
28861847f8eSopenharmony_ci   * Define the route mode.
28961847f8eSopenharmony_ci   *
29061847f8eSopenharmony_ci   * @param { NavRouteMode } mode - The route mode of the NavRouter.
29161847f8eSopenharmony_ci   * @returns { NavRouterAttribute } Returns the instance of the NavRouterAttribute.
29261847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
29361847f8eSopenharmony_ci   * @crossplatform
29461847f8eSopenharmony_ci   * @since 10
29561847f8eSopenharmony_ci   */
29661847f8eSopenharmony_ci  /**
29761847f8eSopenharmony_ci   * Define the route mode.
29861847f8eSopenharmony_ci   *
29961847f8eSopenharmony_ci   * @param { NavRouteMode } mode - The route mode of the NavRouter.
30061847f8eSopenharmony_ci   * @returns { NavRouterAttribute } Returns the instance of the NavRouterAttribute.
30161847f8eSopenharmony_ci   * @syscap SystemCapability.ArkUI.ArkUI.Full
30261847f8eSopenharmony_ci   * @crossplatform
30361847f8eSopenharmony_ci   * @atomicservice
30461847f8eSopenharmony_ci   * @since 11
30561847f8eSopenharmony_ci   * @deprecated since 13
30661847f8eSopenharmony_ci   */
30761847f8eSopenharmony_ci  mode(mode: NavRouteMode): NavRouterAttribute;
30861847f8eSopenharmony_ci}
30961847f8eSopenharmony_ci
31061847f8eSopenharmony_ci/**
31161847f8eSopenharmony_ci * Defines NavRouter Component.
31261847f8eSopenharmony_ci *
31361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
31461847f8eSopenharmony_ci * @since 9
31561847f8eSopenharmony_ci */
31661847f8eSopenharmony_ci/**
31761847f8eSopenharmony_ci * Defines NavRouter Component.
31861847f8eSopenharmony_ci *
31961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
32061847f8eSopenharmony_ci * @crossplatform
32161847f8eSopenharmony_ci * @since 10
32261847f8eSopenharmony_ci */
32361847f8eSopenharmony_ci/**
32461847f8eSopenharmony_ci * Defines NavRouter Component.
32561847f8eSopenharmony_ci *
32661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
32761847f8eSopenharmony_ci * @crossplatform
32861847f8eSopenharmony_ci * @atomicservice
32961847f8eSopenharmony_ci * @since 11
33061847f8eSopenharmony_ci * @deprecated since 13
33161847f8eSopenharmony_ci */
33261847f8eSopenharmony_cideclare const NavRouter: NavRouterInterface;
33361847f8eSopenharmony_ci
33461847f8eSopenharmony_ci/**
33561847f8eSopenharmony_ci * Defines NavRouter Component instance.
33661847f8eSopenharmony_ci *
33761847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
33861847f8eSopenharmony_ci * @since 9
33961847f8eSopenharmony_ci */
34061847f8eSopenharmony_ci/**
34161847f8eSopenharmony_ci * Defines NavRouter Component instance.
34261847f8eSopenharmony_ci *
34361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
34461847f8eSopenharmony_ci * @crossplatform
34561847f8eSopenharmony_ci * @since 10
34661847f8eSopenharmony_ci */
34761847f8eSopenharmony_ci/**
34861847f8eSopenharmony_ci * Defines NavRouter Component instance.
34961847f8eSopenharmony_ci *
35061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
35161847f8eSopenharmony_ci * @crossplatform
35261847f8eSopenharmony_ci * @atomicservice
35361847f8eSopenharmony_ci * @since 11
35461847f8eSopenharmony_ci * @deprecated since 13
35561847f8eSopenharmony_ci */
35661847f8eSopenharmony_cideclare const NavRouterInstance: NavRouterAttribute;
357