161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci* Copyright (C) 2023-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
2361847f8eSopenharmony_ci
2461847f8eSopenharmony_ci
2561847f8eSopenharmony_ci/**
2661847f8eSopenharmony_ci * Control style of operation element
2761847f8eSopenharmony_ci * @enum { TreeListenType }
2861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
2961847f8eSopenharmony_ci * @since 10
3061847f8eSopenharmony_ci */
3161847f8eSopenharmony_ci
3261847f8eSopenharmony_ci
3361847f8eSopenharmony_ci/**
3461847f8eSopenharmony_ci * Control style of operation element
3561847f8eSopenharmony_ci * @enum { TreeListenType }
3661847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
3761847f8eSopenharmony_ci * @atomicservice
3861847f8eSopenharmony_ci * @since 11
3961847f8eSopenharmony_ci */
4061847f8eSopenharmony_ciexport declare enum TreeListenType {
4161847f8eSopenharmony_ci    /**
4261847f8eSopenharmony_ci     * register listener after a node is clicked.
4361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
4461847f8eSopenharmony_ci     * @since 10
4561847f8eSopenharmony_ci     */
4661847f8eSopenharmony_ci    /**
4761847f8eSopenharmony_ci     * register listener after a node is clicked.
4861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
4961847f8eSopenharmony_ci     * @atomicservice
5061847f8eSopenharmony_ci     * @since 11
5161847f8eSopenharmony_ci     */
5261847f8eSopenharmony_ci    NODE_CLICK = "NodeClick",
5361847f8eSopenharmony_ci    /**
5461847f8eSopenharmony_ci     * register listener after a node is add.
5561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
5661847f8eSopenharmony_ci     * @since 10
5761847f8eSopenharmony_ci     */
5861847f8eSopenharmony_ci    /**
5961847f8eSopenharmony_ci     * register listener after a node is add.
6061847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
6161847f8eSopenharmony_ci     * @atomicservice
6261847f8eSopenharmony_ci     * @since 11
6361847f8eSopenharmony_ci     */
6461847f8eSopenharmony_ci    NODE_ADD = "NodeAdd",
6561847f8eSopenharmony_ci    /**
6661847f8eSopenharmony_ci     * register listener after a node is delected.
6761847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
6861847f8eSopenharmony_ci     * @since 10
6961847f8eSopenharmony_ci     */
7061847f8eSopenharmony_ci    /**
7161847f8eSopenharmony_ci     * register listener after a node is delected.
7261847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
7361847f8eSopenharmony_ci     * @atomicservice
7461847f8eSopenharmony_ci     * @since 11
7561847f8eSopenharmony_ci     */
7661847f8eSopenharmony_ci    NODE_DELETE = "NodeDelete",
7761847f8eSopenharmony_ci    /**
7861847f8eSopenharmony_ci     * register listener after a node is modified.
7961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
8061847f8eSopenharmony_ci     * @since 10
8161847f8eSopenharmony_ci     */
8261847f8eSopenharmony_ci    /**
8361847f8eSopenharmony_ci     * register listener after a node is modified.
8461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
8561847f8eSopenharmony_ci     * @atomicservice
8661847f8eSopenharmony_ci     * @since 11
8761847f8eSopenharmony_ci     */
8861847f8eSopenharmony_ci    NODE_MODIFY = "NodeModify",
8961847f8eSopenharmony_ci    /**
9061847f8eSopenharmony_ci     * register listener after a node is moved.
9161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
9261847f8eSopenharmony_ci     * @since 10
9361847f8eSopenharmony_ci     */
9461847f8eSopenharmony_ci    /**
9561847f8eSopenharmony_ci     * register listener after a node is moved.
9661847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
9761847f8eSopenharmony_ci     * @atomicservice
9861847f8eSopenharmony_ci     * @since 11
9961847f8eSopenharmony_ci     */
10061847f8eSopenharmony_ci    NODE_MOVE = "NodeMove",
10161847f8eSopenharmony_ci}
10261847f8eSopenharmony_ci
10361847f8eSopenharmony_ci/**
10461847f8eSopenharmony_ci * Declare class TreeListener
10561847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
10661847f8eSopenharmony_ci * @since 10
10761847f8eSopenharmony_ci */
10861847f8eSopenharmony_ci/**
10961847f8eSopenharmony_ci * Declare class TreeListener
11061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
11161847f8eSopenharmony_ci * @atomicservice
11261847f8eSopenharmony_ci * @since 11
11361847f8eSopenharmony_ci */
11461847f8eSopenharmony_ciexport declare class TreeListener {
11561847f8eSopenharmony_ci    /**
11661847f8eSopenharmony_ci     * Event registration and processing.
11761847f8eSopenharmony_ci     * The event will not be destroyed after being processed.
11861847f8eSopenharmony_ci     *
11961847f8eSopenharmony_ci     * @param { type } event Registered Events.
12061847f8eSopenharmony_ci     * @param { callback }.
12161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
12261847f8eSopenharmony_ci     * @since 10
12361847f8eSopenharmony_ci     */
12461847f8eSopenharmony_ci    /**
12561847f8eSopenharmony_ci     * Event registration and processing.
12661847f8eSopenharmony_ci     * The event will not be destroyed after being processed.
12761847f8eSopenharmony_ci     *
12861847f8eSopenharmony_ci     * @param { type } event Registered Events.
12961847f8eSopenharmony_ci     * @param { callback }.
13061847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
13161847f8eSopenharmony_ci     * @atomicservice
13261847f8eSopenharmony_ci     * @since 11
13361847f8eSopenharmony_ci     */
13461847f8eSopenharmony_ci    on(type: TreeListenType, callback: (callbackParam: CallbackParam) => void): void;
13561847f8eSopenharmony_ci
13661847f8eSopenharmony_ci    /**
13761847f8eSopenharmony_ci     * Event registration and processing.
13861847f8eSopenharmony_ci     * After the event is processed once, it will be destroyed.
13961847f8eSopenharmony_ci     *
14061847f8eSopenharmony_ci     * @param { type } event Registered Events.
14161847f8eSopenharmony_ci     * @param { callback }.
14261847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
14361847f8eSopenharmony_ci     * @since 10
14461847f8eSopenharmony_ci     */
14561847f8eSopenharmony_ci    /**
14661847f8eSopenharmony_ci     * Event registration and processing.
14761847f8eSopenharmony_ci     * After the event is processed once, it will be destroyed.
14861847f8eSopenharmony_ci     *
14961847f8eSopenharmony_ci     * @param { type } event Registered Events.
15061847f8eSopenharmony_ci     * @param { callback }.
15161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
15261847f8eSopenharmony_ci     * @atomicservice
15361847f8eSopenharmony_ci     * @since 11
15461847f8eSopenharmony_ci     */
15561847f8eSopenharmony_ci    once(type: TreeListenType, callback: (callbackParam: CallbackParam) => void): void;
15661847f8eSopenharmony_ci
15761847f8eSopenharmony_ci    /**
15861847f8eSopenharmony_ci     * Destroy event.
15961847f8eSopenharmony_ci     *
16061847f8eSopenharmony_ci     * @param { type } event Registered Events.
16161847f8eSopenharmony_ci     * @param { callback }.
16261847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
16361847f8eSopenharmony_ci     * @since 10
16461847f8eSopenharmony_ci     */
16561847f8eSopenharmony_ci    /**
16661847f8eSopenharmony_ci     * Destroy event.
16761847f8eSopenharmony_ci     *
16861847f8eSopenharmony_ci     * @param { type } event Registered Events.
16961847f8eSopenharmony_ci     * @param { callback }.
17061847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
17161847f8eSopenharmony_ci     * @atomicservice
17261847f8eSopenharmony_ci     * @since 11
17361847f8eSopenharmony_ci     */
17461847f8eSopenharmony_ci    off(type: TreeListenType, callback?: (callbackParam: CallbackParam) => void): void;
17561847f8eSopenharmony_ci}
17661847f8eSopenharmony_ci
17761847f8eSopenharmony_ci/**
17861847f8eSopenharmony_ci * Declare class TreeListenerManager
17961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
18061847f8eSopenharmony_ci * @since 10
18161847f8eSopenharmony_ci */
18261847f8eSopenharmony_ci/**
18361847f8eSopenharmony_ci * Declare class TreeListenerManager
18461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
18561847f8eSopenharmony_ci * @atomicservice
18661847f8eSopenharmony_ci * @since 11
18761847f8eSopenharmony_ci */
18861847f8eSopenharmony_ciexport declare class TreeListenerManager {
18961847f8eSopenharmony_ci    /**
19061847f8eSopenharmony_ci     * Get instance of treeListenerManager.
19161847f8eSopenharmony_ci     * @return treeListenerManager instance
19261847f8eSopenharmony_ci     * @static
19361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
19461847f8eSopenharmony_ci     * @since 10
19561847f8eSopenharmony_ci     */
19661847f8eSopenharmony_ci    /**
19761847f8eSopenharmony_ci     * Get instance of treeListenerManager.
19861847f8eSopenharmony_ci     * @return treeListenerManager instance
19961847f8eSopenharmony_ci     * @static
20061847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
20161847f8eSopenharmony_ci     * @atomicservice
20261847f8eSopenharmony_ci     * @since 11
20361847f8eSopenharmony_ci     */
20461847f8eSopenharmony_ci    static getInstance(): TreeListenerManager;
20561847f8eSopenharmony_ci
20661847f8eSopenharmony_ci    /**
20761847f8eSopenharmony_ci     * Get treeListener.
20861847f8eSopenharmony_ci     * @return treeListener object
20961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
21061847f8eSopenharmony_ci     * @since 10
21161847f8eSopenharmony_ci     */
21261847f8eSopenharmony_ci    /**
21361847f8eSopenharmony_ci     * Get treeListener.
21461847f8eSopenharmony_ci     * @return treeListener object
21561847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
21661847f8eSopenharmony_ci     * @atomicservice
21761847f8eSopenharmony_ci     * @since 11
21861847f8eSopenharmony_ci     */
21961847f8eSopenharmony_ci    getTreeListener(): TreeListener;
22061847f8eSopenharmony_ci}
22161847f8eSopenharmony_ci
22261847f8eSopenharmony_ci/**
22361847f8eSopenharmony_ci * Declare TreeView Component
22461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
22561847f8eSopenharmony_ci * @since 10
22661847f8eSopenharmony_ci */
22761847f8eSopenharmony_ci/**
22861847f8eSopenharmony_ci * Declare TreeView Component
22961847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
23061847f8eSopenharmony_ci * @atomicservice
23161847f8eSopenharmony_ci * @since 11
23261847f8eSopenharmony_ci */
23361847f8eSopenharmony_ci@Component
23461847f8eSopenharmony_ciexport declare struct TreeView {
23561847f8eSopenharmony_ci    /**
23661847f8eSopenharmony_ci     * Node data source of TreeView.
23761847f8eSopenharmony_ci     * @type TreeController
23861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
23961847f8eSopenharmony_ci     * @since 10
24061847f8eSopenharmony_ci     */
24161847f8eSopenharmony_ci    /**
24261847f8eSopenharmony_ci     * Node data source of TreeView.
24361847f8eSopenharmony_ci     * @type TreeController
24461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
24561847f8eSopenharmony_ci     * @atomicservice
24661847f8eSopenharmony_ci     * @since 11
24761847f8eSopenharmony_ci     */
24861847f8eSopenharmony_ci    treeController: TreeController;
24961847f8eSopenharmony_ci}
25061847f8eSopenharmony_ci
25161847f8eSopenharmony_ci/**
25261847f8eSopenharmony_ci * Declare CallbackParam
25361847f8eSopenharmony_ci * @typedef CallbackParam
25461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
25561847f8eSopenharmony_ci * @since 10
25661847f8eSopenharmony_ci */
25761847f8eSopenharmony_ci/**
25861847f8eSopenharmony_ci * Declare CallbackParam
25961847f8eSopenharmony_ci * @typedef CallbackParam
26061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
26161847f8eSopenharmony_ci * @atomicservice
26261847f8eSopenharmony_ci * @since 11
26361847f8eSopenharmony_ci */
26461847f8eSopenharmony_ciexport interface CallbackParam {
26561847f8eSopenharmony_ci    /**
26661847f8eSopenharmony_ci     * Get the currentNodeId.
26761847f8eSopenharmony_ci     * @type { number }
26861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
26961847f8eSopenharmony_ci     * @since 10
27061847f8eSopenharmony_ci     */
27161847f8eSopenharmony_ci    /**
27261847f8eSopenharmony_ci     * Get the currentNodeId.
27361847f8eSopenharmony_ci     * @type { number }
27461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
27561847f8eSopenharmony_ci     * @atomicservice
27661847f8eSopenharmony_ci     * @since 11
27761847f8eSopenharmony_ci     */
27861847f8eSopenharmony_ci    currentNodeId: number,
27961847f8eSopenharmony_ci
28061847f8eSopenharmony_ci    /**
28161847f8eSopenharmony_ci     * Get the parentNodeId.
28261847f8eSopenharmony_ci     * @type { number }
28361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
28461847f8eSopenharmony_ci     * @since 10
28561847f8eSopenharmony_ci     */
28661847f8eSopenharmony_ci    /**
28761847f8eSopenharmony_ci     * Get the parentNodeId.
28861847f8eSopenharmony_ci     * @type { number }
28961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
29061847f8eSopenharmony_ci     * @atomicservice
29161847f8eSopenharmony_ci     * @since 11
29261847f8eSopenharmony_ci     */
29361847f8eSopenharmony_ci    parentNodeId?: number,
29461847f8eSopenharmony_ci
29561847f8eSopenharmony_ci    /**
29661847f8eSopenharmony_ci     * Get the childIndex.
29761847f8eSopenharmony_ci     * @type { number }
29861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
29961847f8eSopenharmony_ci     * @since 10
30061847f8eSopenharmony_ci     */
30161847f8eSopenharmony_ci    /**
30261847f8eSopenharmony_ci     * Get the childIndex.
30361847f8eSopenharmony_ci     * @type { number }
30461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
30561847f8eSopenharmony_ci     * @atomicservice
30661847f8eSopenharmony_ci     * @since 11
30761847f8eSopenharmony_ci     */
30861847f8eSopenharmony_ci    childIndex?: number
30961847f8eSopenharmony_ci}
31061847f8eSopenharmony_ci
31161847f8eSopenharmony_ci/**
31261847f8eSopenharmony_ci * Declare NodeParam
31361847f8eSopenharmony_ci * @typedef NodeParam
31461847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
31561847f8eSopenharmony_ci * @since 10
31661847f8eSopenharmony_ci */
31761847f8eSopenharmony_ci/**
31861847f8eSopenharmony_ci * Declare NodeParam
31961847f8eSopenharmony_ci * @typedef NodeParam
32061847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
32161847f8eSopenharmony_ci * @atomicservice
32261847f8eSopenharmony_ci * @since 11
32361847f8eSopenharmony_ci */
32461847f8eSopenharmony_ciexport interface NodeParam {
32561847f8eSopenharmony_ci    /**
32661847f8eSopenharmony_ci     * Set the parentNodeId.
32761847f8eSopenharmony_ci     * @type { number }
32861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
32961847f8eSopenharmony_ci     * @since 10
33061847f8eSopenharmony_ci     */
33161847f8eSopenharmony_ci    /**
33261847f8eSopenharmony_ci     * Set the parentNodeId.
33361847f8eSopenharmony_ci     * @type { number }
33461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
33561847f8eSopenharmony_ci     * @atomicservice
33661847f8eSopenharmony_ci     * @since 11
33761847f8eSopenharmony_ci     */
33861847f8eSopenharmony_ci    parentNodeId?: number,
33961847f8eSopenharmony_ci
34061847f8eSopenharmony_ci    /**
34161847f8eSopenharmony_ci     * Set currentNodeId.
34261847f8eSopenharmony_ci     * @type { number }
34361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
34461847f8eSopenharmony_ci     * @since 10
34561847f8eSopenharmony_ci     */
34661847f8eSopenharmony_ci    /**
34761847f8eSopenharmony_ci     * Set currentNodeId.
34861847f8eSopenharmony_ci     * @type { number }
34961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
35061847f8eSopenharmony_ci     * @atomicservice
35161847f8eSopenharmony_ci     * @since 11
35261847f8eSopenharmony_ci     */
35361847f8eSopenharmony_ci    currentNodeId?: number,
35461847f8eSopenharmony_ci
35561847f8eSopenharmony_ci    /**
35661847f8eSopenharmony_ci     * Set catalog whether is floder.
35761847f8eSopenharmony_ci     * @type { boolean }
35861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
35961847f8eSopenharmony_ci     * @since 10
36061847f8eSopenharmony_ci     */
36161847f8eSopenharmony_ci    /**
36261847f8eSopenharmony_ci     * Set catalog whether is floder.
36361847f8eSopenharmony_ci     * @type { boolean }
36461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
36561847f8eSopenharmony_ci     * @atomicservice
36661847f8eSopenharmony_ci     * @since 11
36761847f8eSopenharmony_ci     */
36861847f8eSopenharmony_ci    isFolder?: boolean;
36961847f8eSopenharmony_ci
37061847f8eSopenharmony_ci    /**
37161847f8eSopenharmony_ci     * Set the icon resource.
37261847f8eSopenharmony_ci     * @type { Resource }
37361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
37461847f8eSopenharmony_ci     * @since 10
37561847f8eSopenharmony_ci     */
37661847f8eSopenharmony_ci    /**
37761847f8eSopenharmony_ci     * Set the icon resource.
37861847f8eSopenharmony_ci     * @type { Resource }
37961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
38061847f8eSopenharmony_ci     * @atomicservice
38161847f8eSopenharmony_ci     * @since 11
38261847f8eSopenharmony_ci     */
38361847f8eSopenharmony_ci    icon?: ResourceStr;
38461847f8eSopenharmony_ci
38561847f8eSopenharmony_ci    /**
38661847f8eSopenharmony_ci     * Set selected icon resource.
38761847f8eSopenharmony_ci     * @type { Resource }
38861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
38961847f8eSopenharmony_ci     * @since 10
39061847f8eSopenharmony_ci     */
39161847f8eSopenharmony_ci    /**
39261847f8eSopenharmony_ci     * Set selected icon resource.
39361847f8eSopenharmony_ci     * @type { Resource }
39461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
39561847f8eSopenharmony_ci     * @atomicservice
39661847f8eSopenharmony_ci     * @since 11
39761847f8eSopenharmony_ci     */
39861847f8eSopenharmony_ci    selectedIcon?: ResourceStr;
39961847f8eSopenharmony_ci
40061847f8eSopenharmony_ci    /**
40161847f8eSopenharmony_ci     * Set edit icon resource.
40261847f8eSopenharmony_ci     * @type { Resource }
40361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
40461847f8eSopenharmony_ci     * @since 10
40561847f8eSopenharmony_ci     */
40661847f8eSopenharmony_ci    /**
40761847f8eSopenharmony_ci     * Set edit icon resource.
40861847f8eSopenharmony_ci     * @type { Resource }
40961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
41061847f8eSopenharmony_ci     * @atomicservice
41161847f8eSopenharmony_ci     * @since 11
41261847f8eSopenharmony_ci     */
41361847f8eSopenharmony_ci    editIcon?: ResourceStr;
41461847f8eSopenharmony_ci
41561847f8eSopenharmony_ci    /**
41661847f8eSopenharmony_ci     * Set primary title content.
41761847f8eSopenharmony_ci     * @type { ResourceStr }
41861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
41961847f8eSopenharmony_ci     * @since 10
42061847f8eSopenharmony_ci     */
42161847f8eSopenharmony_ci    /**
42261847f8eSopenharmony_ci     * Set primary title content.
42361847f8eSopenharmony_ci     * @type { ResourceStr }
42461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
42561847f8eSopenharmony_ci     * @atomicservice
42661847f8eSopenharmony_ci     * @since 11
42761847f8eSopenharmony_ci     */
42861847f8eSopenharmony_ci    primaryTitle?: ResourceStr;
42961847f8eSopenharmony_ci
43061847f8eSopenharmony_ci    /**
43161847f8eSopenharmony_ci     * Set secondary title content.
43261847f8eSopenharmony_ci     * @type { ResourceStr }
43361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
43461847f8eSopenharmony_ci     * @since 10
43561847f8eSopenharmony_ci     */
43661847f8eSopenharmony_ci    /**
43761847f8eSopenharmony_ci     * Set secondary title content.
43861847f8eSopenharmony_ci     * @type { ResourceStr }
43961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
44061847f8eSopenharmony_ci     * @atomicservice
44161847f8eSopenharmony_ci     * @since 11
44261847f8eSopenharmony_ci     */
44361847f8eSopenharmony_ci    secondaryTitle?: ResourceStr;
44461847f8eSopenharmony_ci
44561847f8eSopenharmony_ci    /**
44661847f8eSopenharmony_ci     * set subcomponent binded on tree item.
44761847f8eSopenharmony_ci     * @type { () => void }
44861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
44961847f8eSopenharmony_ci     * @since 10
45061847f8eSopenharmony_ci     */
45161847f8eSopenharmony_ci    /**
45261847f8eSopenharmony_ci     * set subcomponent binded on tree item.
45361847f8eSopenharmony_ci     * @type { () => void }
45461847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
45561847f8eSopenharmony_ci     * @atomicservice
45661847f8eSopenharmony_ci     * @since 11
45761847f8eSopenharmony_ci     */
45861847f8eSopenharmony_ci    container?: () => void;
45961847f8eSopenharmony_ci}
46061847f8eSopenharmony_ci
46161847f8eSopenharmony_ci/**
46261847f8eSopenharmony_ci * Declare TreeController
46361847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
46461847f8eSopenharmony_ci * @since 10
46561847f8eSopenharmony_ci */
46661847f8eSopenharmony_ci/**
46761847f8eSopenharmony_ci * Declare TreeController
46861847f8eSopenharmony_ci * @syscap SystemCapability.ArkUI.ArkUI.Full
46961847f8eSopenharmony_ci * @atomicservice
47061847f8eSopenharmony_ci * @since 11
47161847f8eSopenharmony_ci */
47261847f8eSopenharmony_ciexport declare class TreeController {
47361847f8eSopenharmony_ci    /**
47461847f8eSopenharmony_ci     * Delete a node.
47561847f8eSopenharmony_ci     * Register an ON_ITEM_DELETE callback through the ListTreeListener mechanism to obtain the IDs of all deleted nodes.
47661847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
47761847f8eSopenharmony_ci     * @since 10
47861847f8eSopenharmony_ci     */
47961847f8eSopenharmony_ci    /**
48061847f8eSopenharmony_ci     * Delete a node.
48161847f8eSopenharmony_ci     * Register an ON_ITEM_DELETE callback through the ListTreeListener mechanism to obtain the IDs of all deleted nodes.
48261847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
48361847f8eSopenharmony_ci     * @atomicservice
48461847f8eSopenharmony_ci     * @since 11
48561847f8eSopenharmony_ci     */
48661847f8eSopenharmony_ci    removeNode(): void;
48761847f8eSopenharmony_ci
48861847f8eSopenharmony_ci    /**
48961847f8eSopenharmony_ci     * Modify the node name.
49061847f8eSopenharmony_ci     * Register an ON_ITEM_MODIFY callback to obtain the ID, parent node ID, and node name of the modified node.
49161847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
49261847f8eSopenharmony_ci     * @since 10
49361847f8eSopenharmony_ci     */
49461847f8eSopenharmony_ci    /**
49561847f8eSopenharmony_ci     * Modify the node name.
49661847f8eSopenharmony_ci     * Register an ON_ITEM_MODIFY callback to obtain the ID, parent node ID, and node name of the modified node.
49761847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
49861847f8eSopenharmony_ci     * @atomicservice
49961847f8eSopenharmony_ci     * @since 11
50061847f8eSopenharmony_ci     */
50161847f8eSopenharmony_ci    modifyNode(): void;
50261847f8eSopenharmony_ci
50361847f8eSopenharmony_ci    /**
50461847f8eSopenharmony_ci     * Initialize the interface of the tree view. This interface is used to generate ListNodeDataSource data.
50561847f8eSopenharmony_ci     * addNode is only designed for initialization. It can only be invoked during initialization.
50661847f8eSopenharmony_ci     *
50761847f8eSopenharmony_ci     * A maximum of 50 directory levels can be added.
50861847f8eSopenharmony_ci     *
50961847f8eSopenharmony_ci     * @param nodeParam Configuration information of the newly added node.
51061847f8eSopenharmony_ci     *
51161847f8eSopenharmony_ci     * For details, see the comment description of NodeParam.
51261847f8eSopenharmony_ci     * @return ListTreeNode Tree view component proxy class.
51361847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
51461847f8eSopenharmony_ci     * @since 10
51561847f8eSopenharmony_ci     */
51661847f8eSopenharmony_ci    /**
51761847f8eSopenharmony_ci     * Initialize the interface of the tree view. This interface is used to generate ListNodeDataSource data.
51861847f8eSopenharmony_ci     * addNode is only designed for initialization. It can only be invoked during initialization.
51961847f8eSopenharmony_ci     *
52061847f8eSopenharmony_ci     * A maximum of 50 directory levels can be added.
52161847f8eSopenharmony_ci     *
52261847f8eSopenharmony_ci     * @param nodeParam Configuration information of the newly added node.
52361847f8eSopenharmony_ci     *
52461847f8eSopenharmony_ci     * For details, see the comment description of NodeParam.
52561847f8eSopenharmony_ci     * @return ListTreeNode Tree view component proxy class.
52661847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
52761847f8eSopenharmony_ci     * @atomicservice
52861847f8eSopenharmony_ci     * @since 11
52961847f8eSopenharmony_ci     */
53061847f8eSopenharmony_ci    addNode(nodeParam?: NodeParam): TreeController;
53161847f8eSopenharmony_ci
53261847f8eSopenharmony_ci    /**
53361847f8eSopenharmony_ci     * This interface is called when a secondaryTitle needs to be updated
53461847f8eSopenharmony_ci     *
53561847f8eSopenharmony_ci     * @param parentId ID of the parent node.
53661847f8eSopenharmony_ci     * @param parentSubTitle secondaryTitle of parent node.
53761847f8eSopenharmony_ci     * @param currentSubtitle secondaryTitle of current node.
53861847f8eSopenharmony_ci     *
53961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
54061847f8eSopenharmony_ci     * @since 10
54161847f8eSopenharmony_ci     */
54261847f8eSopenharmony_ci    /**
54361847f8eSopenharmony_ci     * This interface is called when a secondaryTitle needs to be updated
54461847f8eSopenharmony_ci     *
54561847f8eSopenharmony_ci     * @param parentId ID of the parent node.
54661847f8eSopenharmony_ci     * @param parentSubTitle secondaryTitle of parent node.
54761847f8eSopenharmony_ci     * @param currentSubtitle secondaryTitle of current node.
54861847f8eSopenharmony_ci     *
54961847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
55061847f8eSopenharmony_ci     * @atomicservice
55161847f8eSopenharmony_ci     * @since 11
55261847f8eSopenharmony_ci     */
55361847f8eSopenharmony_ci    refreshNode(parentId: number, parentSubTitle: ResourceStr, currentSubtitle: ResourceStr): void;
55461847f8eSopenharmony_ci
55561847f8eSopenharmony_ci    /**
55661847f8eSopenharmony_ci     * After the initialization is complete by calling the addNode interface,
55761847f8eSopenharmony_ci     * call this interface to complete initialization.
55861847f8eSopenharmony_ci     *
55961847f8eSopenharmony_ci     * This interface must be called when you finish initializing the ListTreeView by addNode.
56061847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
56161847f8eSopenharmony_ci     * @since 10
56261847f8eSopenharmony_ci     */
56361847f8eSopenharmony_ci    /**
56461847f8eSopenharmony_ci     * After the initialization is complete by calling the addNode interface,
56561847f8eSopenharmony_ci     * call this interface to complete initialization.
56661847f8eSopenharmony_ci     *
56761847f8eSopenharmony_ci     * This interface must be called when you finish initializing the ListTreeView by addNode.
56861847f8eSopenharmony_ci     * @syscap SystemCapability.ArkUI.ArkUI.Full
56961847f8eSopenharmony_ci     * @atomicservice
57061847f8eSopenharmony_ci     * @since 11
57161847f8eSopenharmony_ci     */
57261847f8eSopenharmony_ci    buildDone(): void;
57361847f8eSopenharmony_ci}