1/*
2 * Copyright (c) 2021-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 ArkUI
19 */
20
21/**
22 * Options used to construct the stack.
23 *
24 * @interface StackOptions
25 * @syscap SystemCapability.ArkUI.ArkUI.Full
26 * @crossplatform
27 * @form
28 * @atomicservice
29 * @since 13
30 */
31declare interface StackOptions {
32  /**
33   * Set the alignment of sub components within the container.
34   *
35   * @type { ?Alignment }
36   * @syscap SystemCapability.ArkUI.ArkUI.Full
37   * @since 7
38   */
39  /**
40   * Set the alignment of sub components within the container.
41   *
42   * @type { ?Alignment }
43   * @syscap SystemCapability.ArkUI.ArkUI.Full
44   * @form
45   * @since 9
46   */
47  /**
48   * Set the alignment of sub components within the container.
49   *
50   * @type { ?Alignment }
51   * @syscap SystemCapability.ArkUI.ArkUI.Full
52   * @crossplatform
53   * @form
54   * @since 10
55   */
56  /**
57   * Set the alignment of sub components within the container.
58   *
59   * @type { ?Alignment }
60   * @syscap SystemCapability.ArkUI.ArkUI.Full
61   * @crossplatform
62   * @form
63   * @atomicservice
64   * @since 11
65   */
66  alignContent?: Alignment;
67}
68
69/**
70 * Provides ports for stacking containers.
71 *
72 * @interface StackInterface
73 * @syscap SystemCapability.ArkUI.ArkUI.Full
74 * @since 7
75 */
76/**
77 * Provides ports for stacking containers.
78 *
79 * @interface StackInterface
80 * @syscap SystemCapability.ArkUI.ArkUI.Full
81 * @form
82 * @since 9
83 */
84/**
85 * Provides ports for stacking containers.
86 *
87 * @interface StackInterface
88 * @syscap SystemCapability.ArkUI.ArkUI.Full
89 * @crossplatform
90 * @form
91 * @since 10
92 */
93/**
94 * Provides ports for stacking containers.
95 *
96 * @interface StackInterface
97 * @syscap SystemCapability.ArkUI.ArkUI.Full
98 * @crossplatform
99 * @form
100 * @atomicservice
101 * @since 11
102 */
103interface StackInterface {
104  /**
105   * Set the value.
106   *
107   * @param { object } value
108   * @returns { StackAttribute }
109   * @syscap SystemCapability.ArkUI.ArkUI.Full
110   * @since 7
111   */
112  /**
113   * Set the value.
114   *
115   * @param { object } value
116   * @returns { StackAttribute }
117   * @syscap SystemCapability.ArkUI.ArkUI.Full
118   * @form
119   * @since 9
120   */
121  /**
122   * Set the value.
123   *
124   * @param { object } value
125   * @returns { StackAttribute }
126   * @syscap SystemCapability.ArkUI.ArkUI.Full
127   * @crossplatform
128   * @form
129   * @since 10
130   */
131  /**
132   * Set the value.
133   *
134   * @param { object } value
135   * @returns { StackAttribute }
136   * @syscap SystemCapability.ArkUI.ArkUI.Full
137   * @crossplatform
138   * @form
139   * @atomicservice
140   * @since 11
141   */
142  /**
143   * Set the options.
144   *
145   * @param { ?StackOptions } options - stack options
146   * @returns { StackAttribute }
147   * @syscap SystemCapability.ArkUI.ArkUI.Full
148   * @crossplatform
149   * @form
150   * @atomicservice
151   * @since 13
152   */
153  (options?: StackOptions): StackAttribute;
154}
155
156/**
157 * @extends CommonMethod<StackAttribute>
158 * @syscap SystemCapability.ArkUI.ArkUI.Full
159 * @since 7
160 */
161/**
162 * @extends CommonMethod<StackAttribute>
163 * @syscap SystemCapability.ArkUI.ArkUI.Full
164 * @form
165 * @since 9
166 */
167/**
168 * @extends CommonMethod<StackAttribute>
169 * @syscap SystemCapability.ArkUI.ArkUI.Full
170 * @crossplatform
171 * @form
172 * @since 10
173 */
174/**
175 * @extends CommonMethod<StackAttribute>
176 * @syscap SystemCapability.ArkUI.ArkUI.Full
177 * @crossplatform
178 * @form
179 * @atomicservice
180 * @since 11
181 */
182declare class StackAttribute extends CommonMethod<StackAttribute> {
183  /**
184   * Called when the occupancy of items in the container is set.
185   *
186   * @param { Alignment } value
187   * @returns { StackAttribute }
188   * @syscap SystemCapability.ArkUI.ArkUI.Full
189   * @since 7
190   */
191  /**
192   * Called when the occupancy of items in the container is set.
193   *
194   * @param { Alignment } value
195   * @returns { StackAttribute }
196   * @syscap SystemCapability.ArkUI.ArkUI.Full
197   * @form
198   * @since 9
199   */
200  /**
201   * Called when the occupancy of items in the container is set.
202   *
203   * @param { Alignment } value
204   * @returns { StackAttribute }
205   * @syscap SystemCapability.ArkUI.ArkUI.Full
206   * @crossplatform
207   * @form
208   * @since 10
209   */
210  /**
211   * Called when the occupancy of items in the container is set.
212   *
213   * @param { Alignment } value
214   * @returns { StackAttribute }
215   * @syscap SystemCapability.ArkUI.ArkUI.Full
216   * @crossplatform
217   * @form
218   * @atomicservice
219   * @since 11
220   */
221  alignContent(value: Alignment): StackAttribute;
222
223  /**
224   * Defines the PointLight
225   *
226   * @param { PointLightStyle } value - The point light style.
227   * @returns { StackAttribute } The attribute of the stack.
228   * @syscap SystemCapability.ArkUI.ArkUI.Full
229   * @systemapi
230   * @since 11
231   */
232  pointLight(value: PointLightStyle): StackAttribute;
233}
234
235/**
236 * Defines Stack Component.
237 *
238 * @syscap SystemCapability.ArkUI.ArkUI.Full
239 * @since 7
240 */
241/**
242 * Defines Stack Component.
243 *
244 * @syscap SystemCapability.ArkUI.ArkUI.Full
245 * @form
246 * @since 9
247 */
248/**
249 * Defines Stack Component.
250 *
251 * @syscap SystemCapability.ArkUI.ArkUI.Full
252 * @crossplatform
253 * @form
254 * @since 10
255 */
256/**
257 * Defines Stack Component.
258 *
259 * @syscap SystemCapability.ArkUI.ArkUI.Full
260 * @crossplatform
261 * @form
262 * @atomicservice
263 * @since 11
264 */
265declare const Stack: StackInterface;
266
267/**
268 * Defines Stack Component instance.
269 *
270 * @syscap SystemCapability.ArkUI.ArkUI.Full
271 * @since 7
272 */
273/**
274 * Defines Stack Component instance.
275 *
276 * @syscap SystemCapability.ArkUI.ArkUI.Full
277 * @form
278 * @since 9
279 */
280/**
281 * Defines Stack Component instance.
282 *
283 * @syscap SystemCapability.ArkUI.ArkUI.Full
284 * @crossplatform
285 * @form
286 * @since 10
287 */
288/**
289 * Defines Stack Component instance.
290 *
291 * @syscap SystemCapability.ArkUI.ArkUI.Full
292 * @crossplatform
293 * @form
294 * @atomicservice
295 * @since 11
296 */
297declare const StackInstance: StackAttribute;
298