import type { DOMRenderProps } from "../../utils/dom";
import type { SwitchVariants } from "@heroui/styles";
import type { ComponentPropsWithRef, ReactNode } from "react";
import React from "react";
import { Switch as SwitchPrimitive } from "react-aria-components/Switch";
interface SwitchRootProps extends ComponentPropsWithRef<typeof SwitchPrimitive>, SwitchVariants {
}
declare const SwitchRoot: ({ children, className, size, ...props }: SwitchRootProps) => import("react/jsx-runtime").JSX.Element;
interface SwitchControlProps<E extends keyof React.JSX.IntrinsicElements = "span"> extends DOMRenderProps<E, undefined> {
    children?: ReactNode;
    className?: string;
}
declare const SwitchControl: <E extends keyof React.JSX.IntrinsicElements = "span">({ children, className, ...props }: SwitchControlProps<E> & Omit<React.JSX.IntrinsicElements[E], keyof SwitchControlProps<E>>) => import("react/jsx-runtime").JSX.Element;
interface SwitchThumbProps<E extends keyof React.JSX.IntrinsicElements = "span"> extends DOMRenderProps<E, undefined> {
    children?: ReactNode;
    className?: string;
}
declare const SwitchThumb: <E extends keyof React.JSX.IntrinsicElements = "span">({ children, className, ...props }: SwitchThumbProps<E> & Omit<React.JSX.IntrinsicElements[E], keyof SwitchThumbProps<E>>) => import("react/jsx-runtime").JSX.Element;
interface SwitchIconProps<E extends keyof React.JSX.IntrinsicElements = "span"> extends DOMRenderProps<E, undefined> {
    children?: ReactNode;
    className?: string;
}
declare const SwitchIcon: <E extends keyof React.JSX.IntrinsicElements = "span">({ children, className, ...props }: SwitchIconProps<E> & Omit<React.JSX.IntrinsicElements[E], keyof SwitchIconProps<E>>) => import("react/jsx-runtime").JSX.Element;
interface SwitchContentProps<E extends keyof React.JSX.IntrinsicElements = "div"> extends DOMRenderProps<E, undefined> {
    children?: ReactNode;
    className?: string;
}
declare const SwitchContent: <E extends keyof React.JSX.IntrinsicElements = "div">({ children, className, ...props }: SwitchContentProps<E> & Omit<React.JSX.IntrinsicElements[E], keyof SwitchContentProps<E>>) => import("react/jsx-runtime").JSX.Element;
export { SwitchRoot, SwitchControl, SwitchThumb, SwitchIcon, SwitchContent };
export type { SwitchRootProps, SwitchControlProps, SwitchThumbProps, SwitchIconProps, SwitchContentProps, };
