import type { ComputedRef, InjectionKey } from 'vue'; import type { CheckboxProps } from './checkbox'; import type { Numeric } from 'xzx-design/es/utils'; import type { CheckboxGroupProps } from './checkbox-group'; export type CheckboxShape = CheckerShape; export type CheckboxLabelPosition = CheckerLabelPosition; export type CheckboxExpose = { toggle: (newValue?: boolean) => void; /** @private */ props: CheckboxProps; /** @private */ checked: ComputedRef; }; export type CheckboxThemeVars = { checkboxSize?: string; checkboxBorderColor?: string; checkboxDuration?: string; checkboxLabelMargin?: string; checkboxLabelColor?: string; checkboxCheckedIconColor?: string; checkboxDisabledIconColor?: string; checkboxDisabledLabelColor?: string; checkboxDisabledBackground?: string; }; export type CheckerShape = 'square' | 'round'; export type CheckerDirection = 'horizontal' | 'vertical'; export type CheckerLabelPosition = 'left' | 'right'; export type CheckerParent = { props: { max?: Numeric; shape?: CheckerShape; disabled?: boolean; iconSize?: Numeric; direction?: CheckerDirection; modelValue?: unknown | unknown[]; checkedColor?: string; }; }; export type CheckboxGroupDirection = CheckerDirection; export type CheckboxGroupToggleAllOptions = boolean | { checked?: boolean; skipDisabled?: boolean; }; export type CheckboxGroupExpose = { toggleAll: (options?: CheckboxGroupToggleAllOptions) => void; }; export type CheckboxGroupProvide = CheckerParent & { props: CheckboxGroupProps; updateValue: (value: unknown[]) => void; }; export declare const CHECKBOX_GROUP_KEY: InjectionKey;