type TogglePressedChangeReason = "none"; type ToggleChangeDetails = { pressed: boolean; syncGroup?: string; toggleId: string; }; type TogglePressedChangeDetails = { readonly event?: Event; readonly isCanceled: boolean; readonly isPropagationAllowed: boolean; readonly pressed: boolean; readonly previousPressed: boolean; readonly reason: TogglePressedChangeReason; readonly trigger?: Element; allowPropagation(): void; cancel(): void; }; type ToggleOptions = { defaultPressed?: boolean; disabled?: boolean; nativeButton?: boolean; onPressedChange?: (pressed: boolean, details: TogglePressedChangeDetails) => void; pressed?: boolean; syncGroup?: string; value?: string; }; type ToggleSetPressedOptions = { emit?: boolean; event?: Event; sync?: boolean; trigger?: Element; }; type ToggleInstance = { readonly root: HTMLElement; destroy(): void; getPressed(): boolean; setDisabled(disabled: boolean): void; setPressed(pressed: boolean, options?: ToggleSetPressedOptions): void; subscribe(event: "pressedChange", callback: (details: TogglePressedChangeDetails) => void): () => void; toggle(): void; }; declare function createToggle(root: HTMLElement, options?: ToggleOptions): ToggleInstance; export { type ToggleChangeDetails, type ToggleInstance, type ToggleOptions, type TogglePressedChangeDetails, type TogglePressedChangeReason, type ToggleSetPressedOptions, createToggle };