import type { SwitchContextType, ISwitchProps, ISwitchThumbProps, ISwitchIconProps } from './Switch.types'; declare const useSwitch: () => SwitchContextType; /** * Switch root component with animated tap interactions. * * Wraps Base UI `Switch.Root` with a `motion.button` render element, * providing tap start/end tracking for press animation support on the thumb. * Supports both controlled and uncontrolled checked state via `useControlledState`. * * @param props - Switch props including Base UI root props, motion props, slots, and config * @returns A switch button element with press tracking * * @example * ```tsx * * * * ``` */ declare function Switch({ name, defaultChecked, checked, onCheckedChange, nativeButton, disabled, readOnly, required, inputRef, id, className, slots, config: _config, ...props }: ISwitchProps): import("react/jsx-runtime").JSX.Element; /** * SwitchThumb renders the sliding thumb indicator with spring-based layout animation. * * Uses Motion `layout` for smooth position transitions between checked/unchecked states. * Optionally accepts a `pressedAnimation` target applied while the switch is being pressed. * * @param props - Thumb props including motion props, pressed animation, and slot overrides * @returns An animated thumb div element * * @example * ```tsx * * ``` * * @example * ```tsx * // Default spring animation * * ``` */ declare function SwitchThumb({ pressedAnimation, transition, className, slots, ...props }: ISwitchThumbProps): import("react/jsx-runtime").JSX.Element; /** * SwitchIcon renders an animated icon at a specified position within the switch. * * - `left` position: visible when the switch is ON (checked) * - `right` position: visible when the switch is OFF (unchecked) * - `thumb` position: always visible on the thumb element * * Uses spring-based scale and opacity transitions for smooth show/hide animations. * * @param props - Icon props including position, motion props, and slot overrides * @returns An animated icon container div * * @example * ```tsx * * * * ``` * * @example * ```tsx * * * * ``` */ declare function SwitchIcon({ position, transition, className, slots, ...props }: ISwitchIconProps): import("react/jsx-runtime").JSX.Element; export { Switch, SwitchThumb, SwitchIcon, useSwitch, }; export type { ISwitchProps, ISwitchThumbProps, ISwitchIconProps, ISwitchConfig, SwitchContextType, SwitchIconPosition, SwitchSlot, } from './Switch.types'; export { switchStyles } from './Switch.styles'; //# sourceMappingURL=index.d.ts.map