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 * Defines Line constructor options.
23 *
24 * @interface LineOptions
25 * @syscap SystemCapability.ArkUI.ArkUI.Full
26 * @crossplatform
27 * @form
28 * @atomicservice
29 * @since 14
30 */
31interface LineOptions {
32  /**
33   * Width of the rectangle where the line resides.
34   *
35   * @type { ?(string | number) }
36   * @syscap SystemCapability.ArkUI.ArkUI.Full
37   * @since 7
38   */
39  /**
40   * Width of the rectangle where the line resides.
41   *
42   * @type { ?(string | number) }
43   * @syscap SystemCapability.ArkUI.ArkUI.Full
44   * @form
45   * @since 9
46   */
47  /**
48   * Width of the rectangle where the line resides.
49   *
50   * @type { ?(string | number) }
51   * @syscap SystemCapability.ArkUI.ArkUI.Full
52   * @crossplatform
53   * @form
54   * @since 10
55   */
56  /**
57   * Width of the rectangle where the line resides.
58   *
59   * @type { ?(string | number) }
60   * @syscap SystemCapability.ArkUI.ArkUI.Full
61   * @crossplatform
62   * @form
63   * @atomicservice
64   * @since 11
65   */
66  width?: string | number;
67
68  /**
69   * Height of the rectangle where the line resides.
70   *
71   * @type { ?(string | number) }
72   * @syscap SystemCapability.ArkUI.ArkUI.Full
73   * @since 7
74   */
75  /**
76   * Height of the rectangle where the line resides.
77   *
78   * @type { ?(string | number) }
79   * @syscap SystemCapability.ArkUI.ArkUI.Full
80   * @form
81   * @since 9
82   */
83  /**
84   * Height of the rectangle where the line resides.
85   *
86   * @type { ?(string | number) }
87   * @syscap SystemCapability.ArkUI.ArkUI.Full
88   * @crossplatform
89   * @form
90   * @since 10
91   */
92  /**
93   * Height of the rectangle where the line resides.
94   *
95   * @type { ?(string | number) }
96   * @syscap SystemCapability.ArkUI.ArkUI.Full
97   * @crossplatform
98   * @form
99   * @atomicservice
100   * @since 11
101   */
102  height?: string | number;
103}
104
105/**
106 * Line drawing component.
107 *
108 * @interface LineInterface
109 * @syscap SystemCapability.ArkUI.ArkUI.Full
110 * @since 7
111 */
112/**
113 * Line drawing component.
114 *
115 * @interface LineInterface
116 * @syscap SystemCapability.ArkUI.ArkUI.Full
117 * @form
118 * @since 9
119 */
120/**
121 * Line drawing component.
122 *
123 * @interface LineInterface
124 * @syscap SystemCapability.ArkUI.ArkUI.Full
125 * @crossplatform
126 * @form
127 * @since 10
128 */
129/**
130 * Line drawing component.
131 *
132 * @interface LineInterface
133 * @syscap SystemCapability.ArkUI.ArkUI.Full
134 * @crossplatform
135 * @form
136 * @atomicservice
137 * @since 11
138 */
139interface LineInterface {
140  /**
141   * Uses new to create the line.
142   * width: Width of the rectangle where the line resides..
143   * height: Height of the rectangle where the line resides.
144   *
145   * @param { object } value
146   * @returns { LineAttribute }
147   * @syscap SystemCapability.ArkUI.ArkUI.Full
148   * @since 7
149   */
150  /**
151   * Uses new to create the line.
152   * width: Width of the rectangle where the line resides..
153   * height: Height of the rectangle where the line resides.
154   *
155   * @param { object } value
156   * @returns { LineAttribute }
157   * @syscap SystemCapability.ArkUI.ArkUI.Full
158   * @form
159   * @since 9
160   */
161  /**
162   * Uses new to create the line.
163   * width: Width of the rectangle where the line resides..
164   * height: Height of the rectangle where the line resides.
165   *
166   * @param { object } value
167   * @returns { LineAttribute }
168   * @syscap SystemCapability.ArkUI.ArkUI.Full
169   * @crossplatform
170   * @form
171   * @since 10
172   */
173  /**
174   * Uses new to create the line.
175   * width: Width of the rectangle where the line resides..
176   * height: Height of the rectangle where the line resides.
177   *
178   * @param { object } value
179   * @returns { LineAttribute }
180   * @syscap SystemCapability.ArkUI.ArkUI.Full
181   * @crossplatform
182   * @form
183   * @atomicservice
184   * @since 11
185   */
186  /**
187   * Uses new to create the line.
188   *
189   * @param { LineOptions } [options] - Line options
190   * @returns { LineAttribute }
191   * @syscap SystemCapability.ArkUI.ArkUI.Full
192   * @crossplatform
193   * @form
194   * @atomicservice
195   * @since 14
196   */
197  new (options?: LineOptions): LineAttribute;
198
199  /**
200   * The return value of the parameter is Line.
201   * width: Width of the rectangle where the line resides..
202   * height: Height of the rectangle where the line resides.
203   *
204   * @param { object } value
205   * @returns { LineAttribute }
206   * @syscap SystemCapability.ArkUI.ArkUI.Full
207   * @since 7
208   */
209  /**
210   * The return value of the parameter is Line.
211   * width: Width of the rectangle where the line resides..
212   * height: Height of the rectangle where the line resides.
213   *
214   * @param { object } value
215   * @returns { LineAttribute }
216   * @syscap SystemCapability.ArkUI.ArkUI.Full
217   * @form
218   * @since 9
219   */
220  /**
221   * The return value of the parameter is Line.
222   * width: Width of the rectangle where the line resides..
223   * height: Height of the rectangle where the line resides.
224   *
225   * @param { object } value
226   * @returns { LineAttribute }
227   * @syscap SystemCapability.ArkUI.ArkUI.Full
228   * @crossplatform
229   * @form
230   * @since 10
231   */
232  /**
233   * The return value of the parameter is Line.
234   * width: Width of the rectangle where the line resides..
235   * height: Height of the rectangle where the line resides.
236   *
237   * @param { object } value
238   * @returns { LineAttribute }
239   * @syscap SystemCapability.ArkUI.ArkUI.Full
240   * @crossplatform
241   * @form
242   * @atomicservice
243   * @since 11
244   */
245  /**
246   * The return value of the parameter is Line.
247   *
248   * @param { LineOptions } [options] - Line options
249   * @returns { LineAttribute }
250   * @syscap SystemCapability.ArkUI.ArkUI.Full
251   * @crossplatform
252   * @form
253   * @atomicservice
254   * @since 14
255   */
256  (options?: LineOptions): LineAttribute;
257}
258
259/**
260 * inheritance CommonShapeMethod.
261 *
262 * @extends CommonShapeMethod<LineAttribute>
263 * @syscap SystemCapability.ArkUI.ArkUI.Full
264 * @since 7
265 */
266/**
267 * inheritance CommonShapeMethod.
268 *
269 * @extends CommonShapeMethod<LineAttribute>
270 * @syscap SystemCapability.ArkUI.ArkUI.Full
271 * @form
272 * @since 9
273 */
274/**
275 * inheritance CommonShapeMethod.
276 *
277 * @extends CommonShapeMethod<LineAttribute>
278 * @syscap SystemCapability.ArkUI.ArkUI.Full
279 * @crossplatform
280 * @form
281 * @since 10
282 */
283/**
284 * inheritance CommonShapeMethod.
285 *
286 * @extends CommonShapeMethod<LineAttribute>
287 * @syscap SystemCapability.ArkUI.ArkUI.Full
288 * @crossplatform
289 * @form
290 * @atomicservice
291 * @since 11
292 */
293declare class LineAttribute extends CommonShapeMethod<LineAttribute> {
294  /**
295   * Coordinate of the start point of the line (relative coordinate).
296   *
297   * @param { Array<any> } value
298   * @returns { LineAttribute }
299   * @syscap SystemCapability.ArkUI.ArkUI.Full
300   * @since 7
301   */
302  /**
303   * Coordinate of the start point of the line (relative coordinate).
304   *
305   * @param { Array<any> } value
306   * @returns { LineAttribute }
307   * @syscap SystemCapability.ArkUI.ArkUI.Full
308   * @form
309   * @since 9
310   */
311  /**
312   * Coordinate of the start point of the line (relative coordinate).
313   *
314   * @param { Array<any> } value
315   * @returns { LineAttribute }
316   * @syscap SystemCapability.ArkUI.ArkUI.Full
317   * @crossplatform
318   * @form
319   * @since 10
320   */
321  /**
322   * Coordinate of the start point of the line (relative coordinate).
323   *
324   * @param { Array<any> } value
325   * @returns { LineAttribute }
326   * @syscap SystemCapability.ArkUI.ArkUI.Full
327   * @crossplatform
328   * @form
329   * @atomicservice
330   * @since 11
331   */
332  startPoint(value: Array<any>): LineAttribute;
333
334  /**
335   * Line end coordinates (relative coordinates).
336   *
337   * @param { Array<any> } value
338   * @returns { LineAttribute }
339   * @syscap SystemCapability.ArkUI.ArkUI.Full
340   * @since 7
341   */
342  /**
343   * Line end coordinates (relative coordinates).
344   *
345   * @param { Array<any> } value
346   * @returns { LineAttribute }
347   * @syscap SystemCapability.ArkUI.ArkUI.Full
348   * @form
349   * @since 9
350   */
351  /**
352   * Line end coordinates (relative coordinates).
353   *
354   * @param { Array<any> } value
355   * @returns { LineAttribute }
356   * @syscap SystemCapability.ArkUI.ArkUI.Full
357   * @crossplatform
358   * @form
359   * @since 10
360   */
361  /**
362   * Line end coordinates (relative coordinates).
363   *
364   * @param { Array<any> } value
365   * @returns { LineAttribute }
366   * @syscap SystemCapability.ArkUI.ArkUI.Full
367   * @crossplatform
368   * @form
369   * @atomicservice
370   * @since 11
371   */
372  endPoint(value: Array<any>): LineAttribute;
373}
374
375/**
376 * Defines Line Component.
377 *
378 * @syscap SystemCapability.ArkUI.ArkUI.Full
379 * @since 7
380 */
381/**
382 * Defines Line Component.
383 *
384 * @syscap SystemCapability.ArkUI.ArkUI.Full
385 * @form
386 * @since 9
387 */
388/**
389 * Defines Line Component.
390 *
391 * @syscap SystemCapability.ArkUI.ArkUI.Full
392 * @crossplatform
393 * @form
394 * @since 10
395 */
396/**
397 * Defines Line Component.
398 *
399 * @syscap SystemCapability.ArkUI.ArkUI.Full
400 * @crossplatform
401 * @form
402 * @atomicservice
403 * @since 11
404 */
405declare const Line: LineInterface;
406
407/**
408 * Defines Line Component instance.
409 *
410 * @syscap SystemCapability.ArkUI.ArkUI.Full
411 * @since 7
412 */
413/**
414 * Defines Line Component instance.
415 *
416 * @syscap SystemCapability.ArkUI.ArkUI.Full
417 * @form
418 * @since 9
419 */
420/**
421 * Defines Line Component instance.
422 *
423 * @syscap SystemCapability.ArkUI.ArkUI.Full
424 * @crossplatform
425 * @form
426 * @since 10
427 */
428/**
429 * Defines Line Component instance.
430 *
431 * @syscap SystemCapability.ArkUI.ArkUI.Full
432 * @crossplatform
433 * @form
434 * @atomicservice
435 * @since 11
436 */
437declare const LineInstance: LineAttribute;
438