1/*
2 * Copyright (c) 2022-2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16/**
17 * @file
18 * @kit FormKit
19 */
20
21import { BusinessError } from './@ohos.base';
22
23/**
24 * Interface of formBindingData.
25 *
26 * @namespace formBindingData
27 * @syscap SystemCapability.Ability.Form
28 * @since 9
29 */
30/**
31 * Interface of formBindingData.
32 *
33 * @namespace formBindingData
34 * @syscap SystemCapability.Ability.Form
35 * @atomicservice
36 * @since 11
37 */
38declare namespace formBindingData {
39  /**
40   * Create an FormBindingData instance.
41   *
42   * @param { Object | string } [obj] - Indicates the FormBindingData instance data.
43   * @returns { FormBindingData } Returns the FormBindingData.
44   * @throws { BusinessError } 401 - Parameter error. Possible causes:
45   *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.
46   * @syscap SystemCapability.Ability.Form
47   * @since 9
48   */
49  /**
50   * Create an FormBindingData instance.
51   *
52   * @param { Object | string } [obj] - Indicates the FormBindingData instance data.
53   * @returns { FormBindingData } Returns the FormBindingData.
54   * @throws { BusinessError } 401 - Parameter error. Possible causes:
55   *     1.Mandatory parameters are left unspecified; 2.Incorrect parameter types; 3.Parameter verification failed.
56   * @syscap SystemCapability.Ability.Form
57   * @atomicservice
58   * @since 11
59   */
60  function createFormBindingData(obj?: Object | string): FormBindingData;
61
62  /**
63   * Defines the createFormBindingData result interface.
64   *
65   * @typedef FormBindingData
66   * @syscap SystemCapability.Ability.Form
67   * @since 9
68   */
69  /**
70   * Defines the createFormBindingData result interface.
71   *
72   * @typedef FormBindingData
73   * @syscap SystemCapability.Ability.Form
74   * @atomicservice
75   * @since 11
76   */
77  interface FormBindingData {
78    /**
79     * Data for updating.
80     *
81     * @type { Object }
82     * @syscap SystemCapability.Ability.Form
83     * @since 9
84     */
85    /**
86     * Data for updating.
87     *
88     * @type { Object }
89     * @syscap SystemCapability.Ability.Form
90     * @atomicservice
91     * @since 11
92     */
93    data: Object;
94
95    /**
96     * proxies for updating.
97     *
98     * @type { ?Array<ProxyData> }
99     * @syscap SystemCapability.Ability.Form
100     * @StageModelOnly
101     * @since 10
102     */
103    /**
104     * proxies for updating.
105     *
106     * @type { ?Array<ProxyData> }
107     * @syscap SystemCapability.Ability.Form
108     * @StageModelOnly
109     * @atomicservice
110     * @since 11
111     */
112    proxies?: Array<ProxyData>;
113  }
114
115  /**
116   * Defines the form proxy data.
117   *
118   * @typedef ProxyData
119   * @syscap SystemCapability.Ability.Form
120   * @StageModelOnly
121   * @since 10
122   */
123  /**
124   * Defines the form proxy data.
125   *
126   * @typedef ProxyData
127   * @syscap SystemCapability.Ability.Form
128   * @StageModelOnly
129   * @atomicservice
130   * @since 11
131   */
132  interface ProxyData {
133    /**
134     * Key for proxy. The value depend data publisher.
135     *
136     * @type { string }
137     * @syscap SystemCapability.Ability.Form
138     * @StageModelOnly
139     * @since 10
140     */
141    /**
142     * Key for proxy. The value depend data publisher.
143     *
144     * @type { string }
145     * @syscap SystemCapability.Ability.Form
146     * @StageModelOnly
147     * @atomicservice
148     * @since 11
149     */
150    key: string;
151
152    /**
153     * SubscriberId. The value depend data publisher. The default value is current formId.
154     *
155     * @type { ?string }
156     * @syscap SystemCapability.Ability.Form
157     * @StageModelOnly
158     * @since 10
159     */
160    /**
161     * SubscriberId. The value depend data publisher. The default value is current formId.
162     *
163     * @type { ?string }
164     * @syscap SystemCapability.Ability.Form
165     * @StageModelOnly
166     * @atomicservice
167     * @since 11
168     */
169    subscriberId?: string;
170  }
171}
172export default formBindingData;
173