import { type ButtonHTMLAttributes, type CSSProperties, type InputHTMLAttributes, type ReactNode, type Ref } from 'react';
type TaskCheckboxSoundOptions = {
check?: string;
flag?: string;
volume?: number;
};
type TaskCheckboxStyle = CSSProperties & {
'--task-checkbox-active'?: string;
'--task-checkbox-width'?: string;
};
type TaskCheckboxProps = {
children: ReactNode;
checked?: boolean;
defaultChecked?: boolean;
onCheckedChange?: (checked: boolean) => void;
flagged?: boolean;
defaultFlagged?: boolean;
onFlaggedChange?: (flagged: boolean) => void;
disabled?: boolean;
flagDisabled?: boolean;
showFlag?: boolean;
id?: string;
name?: string;
value?: string;
checkboxLabel?: string;
flagLabel?: string;
unflagLabel?: string;
sounds?: false | TaskCheckboxSoundOptions;
className?: string;
style?: TaskCheckboxStyle;
checkboxClassName?: string;
inputClassName?: string;
textClassName?: string;
flagClassName?: string;
inputProps?: Omit, 'type' | 'checked' | 'defaultChecked' | 'disabled' | 'name' | 'value' | 'onChange' | 'children'>;
flagButtonProps?: Omit, 'type' | 'disabled' | 'aria-pressed' | 'onClick' | 'children'>;
ref?: Ref;
inputRef?: Ref;
};
declare const TaskCheckbox: ({ children, checked: controlledChecked, defaultChecked, onCheckedChange, flagged: controlledFlagged, defaultFlagged, onFlaggedChange, disabled, flagDisabled, showFlag, id, name, value, checkboxLabel, flagLabel, unflagLabel, sounds, className, style, checkboxClassName, inputClassName, textClassName, flagClassName, inputProps, flagButtonProps, ref, inputRef, }: TaskCheckboxProps) => import("react/jsx-runtime").JSX.Element;
export { TaskCheckbox };
export type { TaskCheckboxProps, TaskCheckboxSoundOptions, TaskCheckboxStyle };