import type { PartialElement } from '@furystack/shades';
import type { Palette } from '../../services/theme-provider-service.js';
import type { ComponentSize } from '../component-size.js';
export type CheckboxProps = {
    /**
     * Whether the checkbox is checked
     */
    checked?: boolean;
    /**
     * Whether the checkbox is in an indeterminate state
     */
    indeterminate?: boolean;
    /**
     * Whether the checkbox is disabled
     */
    disabled?: boolean;
    /**
     * The palette color for the checkbox
     */
    color?: keyof Palette;
    /**
     * Callback when the checked state changes
     */
    onchange?: (event: Event) => void;
    /**
     * Label text or element displayed next to the checkbox
     */
    labelTitle?: JSX.Element | string;
    /**
     * The name attribute for the underlying input element
     */
    name?: string;
    /**
     * The value attribute for the underlying input element
     */
    value?: string;
    /**
     * Whether the checkbox is required
     */
    required?: boolean;
    /**
     * The size of the checkbox.
     * @default 'medium'
     */
    size?: ComponentSize;
    /**
     * Optional props for the label element
     */
    labelProps?: PartialElement<HTMLLabelElement>;
};
export declare const Checkbox: (props: CheckboxProps & Omit<Partial<HTMLElement>, "style"> & {
    style?: Partial<CSSStyleDeclaration>;
} & {
    ref?: import("@furystack/shades").RefObject<Element>;
}, children?: import("@furystack/shades").ChildrenList) => JSX.Element;
//# sourceMappingURL=checkbox.d.ts.map