import React from 'react'; import { StyleProp, ViewStyle, TextStyle, PressableProps, PressableStateCallbackType } from 'react-native'; export type Ux4gCheckboxSize = 'small' | 'medium' | 'large'; export type Ux4gCheckboxDescriptionVariant = 'helper' | 'error' | 'warning' | 'success'; export interface Ux4gCheckboxProps extends Omit { /** Checkbox state: `true` = Checked, `false` = Unchecked, `null` = Indeterminate (Tristate dash) */ value?: boolean | null; /** Callback triggered when the checkbox or label is pressed. Receives the next state (`value == null ? true : !value`) */ onChanged?: (newValue: boolean | null) => void; /** Primary label text displayed next to the checkbox */ label?: string; /** Secondary description/helper text displayed below the label */ description?: string; /** Size of the checkbox box (`small` = 16pt, `medium` = 20pt, `large` = 24pt). Defaults to `medium`. */ size?: Ux4gCheckboxSize; /** Whether the field is required. Appends a red asterisk (`*`) to the label. Defaults to `false`. */ isRequired?: boolean; /** Whether the field has an error. Highlights the box border in red. Defaults to `false`. */ hasError?: boolean; /** Variant styling for the description text (`helper`, `error`, `warning`, `success`). Defaults to `helper`. */ descriptionVariant?: Ux4gCheckboxDescriptionVariant; /** Whether the checkbox is interactive. Defaults to `true`. */ enabled?: boolean; /** Custom active fill/border color when checked or indeterminate. Defaults to `theme.colors.primary`. */ activeColor?: string; /** Custom checkmark (`✓`) / dash (`—`) color. Defaults to `theme.colors.onPrimary`. */ checkColor?: string; /** Style for the outer row/container `Pressable` */ style?: StyleProp | ((state: PressableStateCallbackType) => StyleProp); /** Style override for the label `Text` */ labelStyle?: StyleProp; /** Style override for the description `Text` */ descriptionStyle?: StyleProp; } export declare const Ux4gCheckbox: React.FC; //# sourceMappingURL=Checkbox.d.ts.map