type CheckboxCheckedChangeReason = "root-press" | "input-change" | "imperative-action"; type CheckboxCheckedChangeDetails = { readonly checked: boolean; readonly event?: Event; readonly isCanceled: boolean; readonly previousChecked: boolean; readonly reason: CheckboxCheckedChangeReason; readonly trigger?: Element; cancel(): void; }; type CheckboxOptions = { checked?: boolean; defaultChecked?: boolean; disabled?: boolean; form?: string; id?: string; indeterminate?: boolean; name?: string; onCheckedChange?: (checked: boolean, details: CheckboxCheckedChangeDetails) => void; readOnly?: boolean; required?: boolean; uncheckedValue?: string; value?: string; }; type CheckboxSetCheckedOptions = { emit?: boolean; }; type CheckboxInstance = { readonly root: HTMLElement; destroy(): void; getChecked(): boolean; setChecked(checked: boolean, options?: CheckboxSetCheckedOptions): void; setDisabled(disabled: boolean): void; setFormOptions(options: Pick): void; setIndeterminate(indeterminate: boolean, options?: CheckboxSetCheckedOptions): void; subscribe(event: "checkedChange", callback: (details: CheckboxCheckedChangeDetails) => void): () => void; toggle(): void; }; declare function createCheckbox(root: HTMLElement, options?: CheckboxOptions): CheckboxInstance; export { type CheckboxCheckedChangeDetails, type CheckboxCheckedChangeReason, type CheckboxInstance, type CheckboxOptions, type CheckboxSetCheckedOptions, createCheckbox };