/** * Switch — Studio's Switch is built on `@radix-ui/react-switch`; here it's * re-expressed on a native `` (full a11y * for free) styled as a track + thumb, keeping Studio's exact sizes and * transitions. Self-contained, no radix. Accepts the native API plus an * optional radix-style `onCheckedChange`. Plus `SwitchField`. * * @module react/components/ui/switch */ import * as React from "react"; import { type VariantProps } from "./cva.js"; declare const switchTrackVariants: (props?: ({ size?: "md" | "lg" | "sm" | null | undefined; } & { class?: import("../../../utils/clsx.js").ClassValue; className?: import("../../../utils/clsx.js").ClassValue; }) | undefined) => string; /** Props accepted by ``. */ export interface SwitchProps extends Omit, "type" | "size">, VariantProps { /** Radix-style convenience callback fired with the next checked state. */ onCheckedChange?: (checked: boolean) => void; ref?: React.Ref; } /** A toggle switch. */ export declare function Switch({ className, size, onChange, onCheckedChange, ref, ...props }: SwitchProps): React.ReactElement; /** Props accepted by ``. */ export interface SwitchFieldProps extends SwitchProps { label: React.ReactNode; description?: string; } /** A switch with a label + optional description, label-left / switch-right. */ export declare function SwitchField({ label, description, id, ref, ...props }: SwitchFieldProps): React.ReactElement; export { switchTrackVariants }; //# sourceMappingURL=switch.d.ts.map