
"use client";
import { UniversalSwitchProps } from "../../../types/dist/index.js";
import React from "react";

//#region src/components/experimental/client/SwitchV2.d.ts
type NativeInputProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type' | 'checked' | 'size' | 'height' | 'width' | 'color' | 'defaultChecked' | 'children'>;
type DataAttributes = {
  [name: `data-${string}`]: string;
};
interface SwitchV2Props extends NativeInputProps, UniversalSwitchProps {
  /** Props to be passed into various slots within the component. */
  slotProps?: {
    root?: DataAttributes;
    switch?: DataAttributes;
    handle?: DataAttributes;
    label?: DataAttributes;
  };
}
/**
 * **⚙️️ An switch.
 *
 * @componentType Client component
 *
 * @description
 * A switch (also called a toggle) is a binary on/off input control. It is clickable or touchable on mobile devices allowing users to pick between two clearly opposite choices.
 *
 * @see
 * Check out the {@link https://uds.build/docs/components/switch Switch Docs} for more info
 *
 * @usage
 * - Forms: switch
 *
 * @example
 * ```tsx
 * 'use client';
 * import { Switch } from "@yahoo/uds";
 *
 * <Switch label="Name" required />
 *```
 *
 * @related [Checkbox](https://uds.build/docs/components/checkbox).
 **/
declare const SwitchV2: React.ForwardRefExoticComponent<SwitchV2Props & React.RefAttributes<HTMLInputElement>>;
declare const SwitchV2AvoidMotionLibraryProvider: React.Provider<boolean>;
//#endregion
export { SwitchV2, SwitchV2AvoidMotionLibraryProvider, type SwitchV2Props };