import { Checkbox as CheckboxPrimitive } from '@base-ui/react/checkbox';
import * as React from 'react';
/**
 * Radix-style tri-state value for the controlled `checked` prop. Base UI splits
 * this into a strict `checked` boolean plus a separate `indeterminate` boolean —
 * we keep the Radix union here so existing consumers (which pass
 * `checked="indeterminate"`) keep working without changes.
 *
 * `defaultChecked` is intentionally a plain boolean: an uncontrolled checkbox
 * cannot start "indeterminate" and then be toggled out of it (the indeterminate
 * state is inherently controlled), so `'indeterminate'` is not allowed there.
 */
export type CheckedState = boolean | 'indeterminate';
type CheckboxProps = Omit<CheckboxPrimitive.Root.Props, 'className' | 'checked'> & {
    className?: string;
    checked?: CheckedState;
};
declare const Checkbox: React.ForwardRefExoticComponent<Omit<CheckboxProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
export { Checkbox };
export type { CheckboxProps };
