import React from 'react'; import { ThemeOverrideProps } from '@xsolla/xui-core'; interface SwitchProps extends ThemeOverrideProps { /** Size of the switch */ size?: "sm" | "md" | "lg" | "xl"; /** Whether the switch is checked */ checked?: boolean; /** Visual state of the switch */ state?: "default" | "hover" | "disable" | "error"; /** Whether the switch is disabled */ disabled?: boolean; /** Label text to display next to the switch */ label?: string; /** Position of the label relative to the switch */ labelPosition?: "left" | "right"; /** * Description content to display below the label. Accepts rich content, so a * link or other inline markup can be embedded: * * ```tsx * See our privacy policy.} * /> * ``` * * Clicks and Enter presses on interactive content inside the description * (links, buttons) do NOT toggle the switch — see `isInteractiveTarget`. */ description?: React.ReactNode; /** Error label text to display when state is 'error' */ errorLabel?: string; /** Callback when the switch value changes */ onValueChange?: (value: boolean) => void; /** Accessible label for screen readers */ ariaLabel?: string; /** ID of the element that labels this switch */ ariaLabelledBy?: string; testID?: string; } declare const Switch: React.FC; export { Switch, type SwitchProps };