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 * CheckboxGroup SelectStatus
23 *
24 * @enum { number }
25 * @syscap SystemCapability.ArkUI.ArkUI.Full
26 * @since 8
27 */
28/**
29 * CheckboxGroup SelectStatus
30 *
31 * @enum { number }
32 * @syscap SystemCapability.ArkUI.ArkUI.Full
33 * @form
34 * @since 9
35 */
36/**
37 * CheckboxGroup SelectStatus
38 *
39 * @enum { number }
40 * @syscap SystemCapability.ArkUI.ArkUI.Full
41 * @crossplatform
42 * @form
43 * @since 10
44 */
45/**
46 * CheckboxGroup SelectStatus
47 *
48 * @enum { number }
49 * @syscap SystemCapability.ArkUI.ArkUI.Full
50 * @crossplatform
51 * @form
52 * @atomicservice
53 * @since 11
54 */
55declare enum SelectStatus {
56  /**
57   * All checkboxes are selected.
58   *
59   * @syscap SystemCapability.ArkUI.ArkUI.Full
60   * @since 8
61   */
62  /**
63   * All checkboxes are selected.
64   *
65   * @syscap SystemCapability.ArkUI.ArkUI.Full
66   * @form
67   * @since 9
68   */
69  /**
70   * All checkboxes are selected.
71   *
72   * @syscap SystemCapability.ArkUI.ArkUI.Full
73   * @crossplatform
74   * @form
75   * @since 10
76   */
77  /**
78   * All checkboxes are selected.
79   *
80   * @syscap SystemCapability.ArkUI.ArkUI.Full
81   * @crossplatform
82   * @form
83   * @atomicservice
84   * @since 11
85   */
86  All,
87  /**
88   * Part of the checkbox is selected.
89   *
90   * @syscap SystemCapability.ArkUI.ArkUI.Full
91   * @since 8
92   */
93  /**
94   * Part of the checkbox is selected.
95   *
96   * @syscap SystemCapability.ArkUI.ArkUI.Full
97   * @form
98   * @since 9
99   */
100  /**
101   * Part of the checkbox is selected.
102   *
103   * @syscap SystemCapability.ArkUI.ArkUI.Full
104   * @crossplatform
105   * @form
106   * @since 10
107   */
108  /**
109   * Part of the checkbox is selected.
110   *
111   * @syscap SystemCapability.ArkUI.ArkUI.Full
112   * @crossplatform
113   * @form
114   * @atomicservice
115   * @since 11
116   */
117  Part,
118  /**
119   * None of the checkbox is selected.
120   *
121   * @syscap SystemCapability.ArkUI.ArkUI.Full
122   * @since 8
123   */
124  /**
125   * None of the checkbox is selected.
126   *
127   * @syscap SystemCapability.ArkUI.ArkUI.Full
128   * @form
129   * @since 9
130   */
131  /**
132   * None of the checkbox is selected.
133   *
134   * @syscap SystemCapability.ArkUI.ArkUI.Full
135   * @crossplatform
136   * @form
137   * @since 10
138   */
139  /**
140   * None of the checkbox is selected.
141   *
142   * @syscap SystemCapability.ArkUI.ArkUI.Full
143   * @crossplatform
144   * @form
145   * @atomicservice
146   * @since 11
147   */
148  None,
149}
150
151/**
152 * Defines the options of CheckboxGroup.
153 *
154 * @interface CheckboxGroupOptions
155 * @syscap SystemCapability.ArkUI.ArkUI.Full
156 * @since 8
157 */
158/**
159 * Defines the options of CheckboxGroup.
160 *
161 * @interface CheckboxGroupOptions
162 * @syscap SystemCapability.ArkUI.ArkUI.Full
163 * @form
164 * @since 9
165 */
166/**
167 * Defines the options of CheckboxGroup.
168 *
169 * @interface CheckboxGroupOptions
170 * @syscap SystemCapability.ArkUI.ArkUI.Full
171 * @crossplatform
172 * @form
173 * @since 10
174 */
175/**
176 * Defines the options of CheckboxGroup.
177 *
178 * @interface CheckboxGroupOptions
179 * @syscap SystemCapability.ArkUI.ArkUI.Full
180 * @crossplatform
181 * @form
182 * @atomicservice
183 * @since 11
184 */
185declare interface CheckboxGroupOptions {
186  /**
187   * Setting the group of CheckboxGroup.
188   *
189   * @type { ?string }
190   * @syscap SystemCapability.ArkUI.ArkUI.Full
191   * @since 8
192   */
193  /**
194   * Setting the group of CheckboxGroup.
195   *
196   * @type { ?string }
197   * @syscap SystemCapability.ArkUI.ArkUI.Full
198   * @form
199   * @since 9
200   */
201  /**
202   * Setting the group of CheckboxGroup.
203   *
204   * @type { ?string }
205   * @syscap SystemCapability.ArkUI.ArkUI.Full
206   * @crossplatform
207   * @form
208   * @since 10
209   */
210  /**
211   * Setting the group of CheckboxGroup.
212   *
213   * @type { ?string }
214   * @syscap SystemCapability.ArkUI.ArkUI.Full
215   * @crossplatform
216   * @form
217   * @atomicservice
218   * @since 11
219   */
220  group?: string;
221}
222
223/**
224 * Defines the options of CheckboxGroupResult.
225 *
226 * @interface CheckboxGroupResult
227 * @syscap SystemCapability.ArkUI.ArkUI.Full
228 * @since 8
229 */
230/**
231 * Defines the options of CheckboxGroupResult.
232 *
233 * @interface CheckboxGroupResult
234 * @syscap SystemCapability.ArkUI.ArkUI.Full
235 * @form
236 * @since 9
237 */
238/**
239 * Defines the options of CheckboxGroupResult.
240 *
241 * @interface CheckboxGroupResult
242 * @syscap SystemCapability.ArkUI.ArkUI.Full
243 * @crossplatform
244 * @form
245 * @since 10
246 */
247/**
248 * Defines the options of CheckboxGroupResult.
249 *
250 * @interface CheckboxGroupResult
251 * @syscap SystemCapability.ArkUI.ArkUI.Full
252 * @crossplatform
253 * @form
254 * @atomicservice
255 * @since 11
256 */
257declare interface CheckboxGroupResult {
258  /**
259   * Checkbox name.
260   *
261   * @type { Array<string> }
262   * @syscap SystemCapability.ArkUI.ArkUI.Full
263   * @since 8
264   */
265  /**
266   * Checkbox name.
267   *
268   * @type { Array<string> }
269   * @syscap SystemCapability.ArkUI.ArkUI.Full
270   * @form
271   * @since 9
272   */
273  /**
274   * Checkbox name.
275   *
276   * @type { Array<string> }
277   * @syscap SystemCapability.ArkUI.ArkUI.Full
278   * @crossplatform
279   * @form
280   * @since 10
281   */
282  /**
283   * Checkbox name.
284   *
285   * @type { Array<string> }
286   * @syscap SystemCapability.ArkUI.ArkUI.Full
287   * @crossplatform
288   * @form
289   * @atomicservice
290   * @since 11
291   */
292  name: Array<string>;
293  /**
294   * Set the group of status.
295   *
296   * @type { SelectStatus }
297   * @syscap SystemCapability.ArkUI.ArkUI.Full
298   * @since 8
299   */
300  /**
301   * Set the group of status.
302   *
303   * @type { SelectStatus }
304   * @syscap SystemCapability.ArkUI.ArkUI.Full
305   * @form
306   * @since 9
307   */
308  /**
309   * Set the group of status.
310   *
311   * @type { SelectStatus }
312   * @syscap SystemCapability.ArkUI.ArkUI.Full
313   * @crossplatform
314   * @form
315   * @since 10
316   */
317  /**
318   * Set the group of status.
319   *
320   * @type { SelectStatus }
321   * @syscap SystemCapability.ArkUI.ArkUI.Full
322   * @crossplatform
323   * @form
324   * @atomicservice
325   * @since 11
326   */
327  status: SelectStatus;
328}
329
330/**
331 * Provides an interface for the CheckboxGroup component.
332 *
333 * @interface CheckboxGroupInterface
334 * @syscap SystemCapability.ArkUI.ArkUI.Full
335 * @since 8
336 */
337/**
338 * Provides an interface for the CheckboxGroup component.
339 *
340 * @interface CheckboxGroupInterface
341 * @syscap SystemCapability.ArkUI.ArkUI.Full
342 * @form
343 * @since 9
344 */
345/**
346 * Provides an interface for the CheckboxGroup component.
347 *
348 * @interface CheckboxGroupInterface
349 * @syscap SystemCapability.ArkUI.ArkUI.Full
350 * @crossplatform
351 * @form
352 * @since 10
353 */
354/**
355 * Provides an interface for the CheckboxGroup component.
356 *
357 * @interface CheckboxGroupInterface
358 * @syscap SystemCapability.ArkUI.ArkUI.Full
359 * @crossplatform
360 * @form
361 * @atomicservice
362 * @since 11
363 */
364interface CheckboxGroupInterface {
365  /**
366   * Called when the CheckboxGroup component is used.
367   *
368   * @param { CheckboxGroupOptions } options
369   * @returns { CheckboxGroupAttribute }
370   * @syscap SystemCapability.ArkUI.ArkUI.Full
371   * @since 8
372   */
373  /**
374   * Called when the CheckboxGroup component is used.
375   *
376   * @param { CheckboxGroupOptions } options
377   * @returns { CheckboxGroupAttribute }
378   * @syscap SystemCapability.ArkUI.ArkUI.Full
379   * @form
380   * @since 9
381   */
382  /**
383   * Called when the CheckboxGroup component is used.
384   *
385   * @param { CheckboxGroupOptions } options
386   * @returns { CheckboxGroupAttribute }
387   * @syscap SystemCapability.ArkUI.ArkUI.Full
388   * @crossplatform
389   * @form
390   * @since 10
391   */
392  /**
393   * Called when the CheckboxGroup component is used.
394   *
395   * @param { CheckboxGroupOptions } options
396   * @returns { CheckboxGroupAttribute }
397   * @syscap SystemCapability.ArkUI.ArkUI.Full
398   * @crossplatform
399   * @form
400   * @atomicservice
401   * @since 11
402   */
403  (options?: CheckboxGroupOptions): CheckboxGroupAttribute;
404}
405
406/**
407 * Defines a CheckboxGroup callback when onChange.
408 *
409 * @typedef { function } OnCheckboxGroupChangeCallback
410 * @param { CheckboxGroupResult } value - checkbox group result
411 * @syscap SystemCapability.ArkUI.ArkUI.Full
412 * @crossplatform
413 * @form
414 * @atomicservice
415 * @since 13
416 */
417declare type OnCheckboxGroupChangeCallback  = (value: CheckboxGroupResult) => void;
418
419/**
420 * Defines the attribute functions of CheckboxGroup.
421 *
422 * @extends CommonMethod<CheckboxGroupAttribute>
423 * @syscap SystemCapability.ArkUI.ArkUI.Full
424 * @since 8
425 */
426/**
427 * Defines the attribute functions of CheckboxGroup.
428 *
429 * @extends CommonMethod<CheckboxGroupAttribute>
430 * @syscap SystemCapability.ArkUI.ArkUI.Full
431 * @form
432 * @since 9
433 */
434/**
435 * Defines the attribute functions of CheckboxGroup.
436 *
437 * @extends CommonMethod<CheckboxGroupAttribute>
438 * @syscap SystemCapability.ArkUI.ArkUI.Full
439 * @crossplatform
440 * @form
441 * @since 10
442 */
443/**
444 * Defines the attribute functions of CheckboxGroup.
445 *
446 * @extends CommonMethod<CheckboxGroupAttribute>
447 * @syscap SystemCapability.ArkUI.ArkUI.Full
448 * @crossplatform
449 * @form
450 * @atomicservice
451 * @since 11
452 */
453declare class CheckboxGroupAttribute extends CommonMethod<CheckboxGroupAttribute> {
454  /**
455   * setting whether all checkbox is selected.
456   *
457   * @param { boolean } value
458   * @returns { CheckboxGroupAttribute }
459   * @syscap SystemCapability.ArkUI.ArkUI.Full
460   * @since 8
461   */
462  /**
463   * setting whether all checkbox is selected.
464   *
465   * @param { boolean } value
466   * @returns { CheckboxGroupAttribute }
467   * @syscap SystemCapability.ArkUI.ArkUI.Full
468   * @form
469   * @since 9
470   */
471  /**
472   * setting whether all checkbox is selected.
473   *
474   * @param { boolean } value
475   * @returns { CheckboxGroupAttribute }
476   * @syscap SystemCapability.ArkUI.ArkUI.Full
477   * @crossplatform
478   * @form
479   * @since 10
480   */
481  /**
482   * setting whether all checkbox is selected.
483   *
484   * @param { boolean } value
485   * @returns { CheckboxGroupAttribute }
486   * @syscap SystemCapability.ArkUI.ArkUI.Full
487   * @crossplatform
488   * @form
489   * @atomicservice
490   * @since 11
491   */
492  selectAll(value: boolean): CheckboxGroupAttribute;
493
494  /**
495   * setting the display color of checkbox.
496   *
497   * @param { ResourceColor } value
498   * @returns { CheckboxGroupAttribute }
499   * @syscap SystemCapability.ArkUI.ArkUI.Full
500   * @since 8
501   */
502  /**
503   * setting the display color of checkbox.
504   *
505   * @param { ResourceColor } value
506   * @returns { CheckboxGroupAttribute }
507   * @syscap SystemCapability.ArkUI.ArkUI.Full
508   * @form
509   * @since 9
510   */
511  /**
512   * setting the display color of checkbox.
513   *
514   * @param { ResourceColor } value
515   * @returns { CheckboxGroupAttribute }
516   * @syscap SystemCapability.ArkUI.ArkUI.Full
517   * @crossplatform
518   * @form
519   * @since 10
520   */
521  /**
522   * setting the display color of checkbox.
523   *
524   * @param { ResourceColor } value
525   * @returns { CheckboxGroupAttribute }
526   * @syscap SystemCapability.ArkUI.ArkUI.Full
527   * @crossplatform
528   * @form
529   * @atomicservice
530   * @since 11
531   */
532  selectedColor(value: ResourceColor): CheckboxGroupAttribute;
533
534  /**
535   * Set the display border color of unselected checkbox.
536   *
537   * @param { ResourceColor } value - The color of border when checkboxgroup unselected.
538   * @returns { CheckboxGroupAttribute }
539   * @syscap SystemCapability.ArkUI.ArkUI.Full
540   * @crossplatform
541   * @since 10
542   */
543  /**
544   * Set the display border color of unselected checkbox.
545   *
546   * @param { ResourceColor } value - The color of border when checkboxgroup unselected.
547   * @returns { CheckboxGroupAttribute }
548   * @syscap SystemCapability.ArkUI.ArkUI.Full
549   * @crossplatform
550   * @atomicservice
551   * @since 11
552   */
553  unselectedColor(value: ResourceColor): CheckboxGroupAttribute;
554
555  /**
556   * Set the mark style of checkbox.
557   *
558   * @param { MarkStyle } value - The style configuration of checkboxgroup mark.
559   * @returns { CheckboxGroupAttribute }
560   * @syscap SystemCapability.ArkUI.ArkUI.Full
561   * @crossplatform
562   * @since 10
563   */
564  /**
565   * Set the mark style of checkbox.
566   *
567   * @param { MarkStyle } value - The style configuration of checkboxgroup mark.
568   * @returns { CheckboxGroupAttribute }
569   * @syscap SystemCapability.ArkUI.ArkUI.Full
570   * @crossplatform
571   * @atomicservice
572   * @since 11
573   */
574  mark(value: MarkStyle): CheckboxGroupAttribute;
575
576  /**
577   * Called when the selection status changes.
578   *
579   * @param { function } callback
580   * @returns { CheckboxGroupAttribute }
581   * @syscap SystemCapability.ArkUI.ArkUI.Full
582   * @since 8
583   */
584  /**
585   * Called when the selection status changes.
586   *
587   * @param { function } callback
588   * @returns { CheckboxGroupAttribute }
589   * @syscap SystemCapability.ArkUI.ArkUI.Full
590   * @form
591   * @since 9
592   */
593  /**
594   * Called when the selection status changes.
595   *
596   * @param { function } callback
597   * @returns { CheckboxGroupAttribute }
598   * @syscap SystemCapability.ArkUI.ArkUI.Full
599   * @crossplatform
600   * @form
601   * @since 10
602   */
603  /**
604   * Called when the selection status changes.
605   *
606   * @param { function } callback
607   * @returns { CheckboxGroupAttribute }
608   * @syscap SystemCapability.ArkUI.ArkUI.Full
609   * @crossplatform
610   * @form
611   * @atomicservice
612   * @since 11
613   */
614  /**
615   * Called when the selection status changes.
616   *
617   * @param { OnCheckboxGroupChangeCallback } callback
618   * @returns { CheckboxGroupAttribute }
619   * @syscap SystemCapability.ArkUI.ArkUI.Full
620   * @crossplatform
621   * @form
622   * @atomicservice
623   * @since 13
624   */
625  onChange(callback: OnCheckboxGroupChangeCallback): CheckboxGroupAttribute;
626
627  /**
628   * Setting the shape of checkbox group.
629   *
630   * @param { CheckBoxShape } value - The configuration of checkbox group shape.
631   * @returns { CheckboxGroupAttribute }
632   * @syscap SystemCapability.ArkUI.ArkUI.Full
633   * @crossplatform
634   * @form
635   * @atomicservice
636   * @since 12
637   */
638  checkboxShape(value: CheckBoxShape): CheckboxGroupAttribute;
639}
640
641/**
642 * Defines CheckboxGroup Component.
643 *
644 * @syscap SystemCapability.ArkUI.ArkUI.Full
645 * @since 8
646 */
647/**
648 * Defines CheckboxGroup Component.
649 *
650 * @syscap SystemCapability.ArkUI.ArkUI.Full
651 * @form
652 * @since 9
653 */
654/**
655 * Defines CheckboxGroup Component.
656 *
657 * @syscap SystemCapability.ArkUI.ArkUI.Full
658 * @crossplatform
659 * @form
660 * @since 10
661 */
662/**
663 * Defines CheckboxGroup Component.
664 *
665 * @syscap SystemCapability.ArkUI.ArkUI.Full
666 * @crossplatform
667 * @form
668 * @atomicservice
669 * @since 11
670 */
671declare const CheckboxGroup: CheckboxGroupInterface;
672
673/**
674 * Defines CheckboxGroup Component instance.
675 *
676 * @syscap SystemCapability.ArkUI.ArkUI.Full
677 * @since 8
678 */
679/**
680 * Defines CheckboxGroup Component instance.
681 *
682 * @syscap SystemCapability.ArkUI.ArkUI.Full
683 * @form
684 * @since 9
685 */
686/**
687 * Defines CheckboxGroup Component instance.
688 *
689 * @syscap SystemCapability.ArkUI.ArkUI.Full
690 * @crossplatform
691 * @form
692 * @since 10
693 */
694/**
695 * Defines CheckboxGroup Component instance.
696 *
697 * @syscap SystemCapability.ArkUI.ArkUI.Full
698 * @crossplatform
699 * @form
700 * @atomicservice
701 * @since 11
702 */
703declare const CheckboxGroupInstance: CheckboxGroupAttribute;
704