type SwitchCheckedChangeReason = "none"; type SwitchCheckedChangeDetails = { readonly checked: boolean; readonly event?: Event; readonly isCanceled: boolean; readonly isPropagationAllowed: boolean; readonly previousChecked: boolean; readonly reason: SwitchCheckedChangeReason; readonly trigger?: Element; allowPropagation(): void; cancel(): void; }; type SwitchOptions = { checked?: boolean; defaultChecked?: boolean; disabled?: boolean; form?: string; id?: string; name?: string; onCheckedChange?: (checked: boolean, details: SwitchCheckedChangeDetails) => void; readOnly?: boolean; required?: boolean; uncheckedValue?: string; value?: string; }; type SwitchSetCheckedOptions = { emit?: boolean; event?: Event; trigger?: Element; }; type SwitchInstance = { readonly root: HTMLElement; destroy(): void; getChecked(): boolean; setChecked(checked: boolean, options?: SwitchSetCheckedOptions): void; setDisabled(disabled: boolean): void; setFormOptions(options: Pick): void; subscribe(event: "checkedChange", callback: (details: SwitchCheckedChangeDetails) => void): () => void; toggle(): void; }; declare function createSwitch(root: HTMLElement, options?: SwitchOptions): SwitchInstance; export { type SwitchCheckedChangeDetails, type SwitchCheckedChangeReason, type SwitchInstance, type SwitchOptions, type SwitchSetCheckedOptions, createSwitch };