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