import type { HTMLAttributes } from 'svelte/elements'; export type CheckboxVariant = 'checkbox' | 'radio'; export interface CheckboxProps extends Omit, 'onclick' | 'onchange'> { /** * If true, the component is checked. */ checked?: boolean; /** * The default checked state. Use when the component is not controlled. */ defaultChecked?: boolean; /** * If true, the component is disabled. */ disabled?: boolean; /** * The checkbox type variant */ variant?: CheckboxVariant; /** * Callback fired when the state is changed. * @param checked - The new checked state */ onChange?: (checked: boolean) => void; /** * Additional CSS classes */ class?: string; } export interface CheckboxChangeEvent { checked: boolean; }