import * as React from 'react'; import { View } from 'react-native'; import type { ZestUIComponentProps } from '../types'; import type { ZestChangeEventDetails } from '../utils/createChangeEventDetails'; import { REASONS } from '../utils/reasons'; /** * Provides a shared state to a series of checkboxes. * Renders a ``. */ export declare function CheckboxGroup(componentProps: CheckboxGroup.Props): React.JSX.Element; export interface CheckboxGroupState { /** * Whether the component should ignore user interaction. */ disabled: boolean; } export interface CheckboxGroupProps extends Omit, 'value'> { /** * Names of the checkboxes in the group that should be ticked. * * To render an uncontrolled checkbox group, use the `defaultValue` prop instead. */ value?: string[] | undefined; /** * Names of the checkboxes in the group that should be initially ticked. * * To render a controlled checkbox group, use the `value` prop instead. */ defaultValue?: string[] | undefined; /** * Event handler called when a checkbox in the group is ticked or unticked. * Provides the new value as an argument. */ onValueChange?: ((value: string[], eventDetails: CheckboxGroup.ChangeEventDetails) => void) | undefined; /** * Names of all checkboxes in the group. Use this when creating a parent checkbox. */ allValues?: string[] | undefined; /** * Whether the component should ignore user interaction. * @default false */ disabled?: boolean | undefined; } export type CheckboxGroupChangeEventReason = typeof REASONS.none; export type CheckboxGroupChangeEventDetails = ZestChangeEventDetails; export declare namespace CheckboxGroup { type State = CheckboxGroupState; type Props = CheckboxGroupProps; type ChangeEventReason = CheckboxGroupChangeEventReason; type ChangeEventDetails = CheckboxGroupChangeEventDetails; } //# sourceMappingURL=CheckboxGroup.d.ts.map