import * as react_jsx_runtime from 'react/jsx-runtime';
import React__default from 'react';
import { VariantProps as VariantPropsInternal } from './variants.js';

declare const switchTV: (props?: ({
    [x: string]: string | number | undefined;
} & {
    className?: string;
}) | undefined) => {
    container: (slotProps?: {
        className?: string;
    }) => string;
    knob: (slotProps?: {
        className?: string;
    }) => string;
    input: (slotProps?: {
        className?: string;
    }) => string;
    icon: (slotProps?: {
        className?: string;
    }) => string;
    label: (slotProps?: {
        className?: string;
    }) => string;
};
interface SwitchProps extends Omit<React__default.InputHTMLAttributes<HTMLInputElement>, 'size'> {
    label?: React__default.ReactNode;
    labelPlacement?: VariantPropsInternal<typeof switchTV>['labelPlacement'];
    labelWeight?: VariantPropsInternal<typeof switchTV>['labelWeight'];
    size?: VariantPropsInternal<typeof switchTV>['size'];
    disabled?: boolean;
    variant?: VariantPropsInternal<typeof switchTV>['variant'];
    onIcon?: React__default.ReactNode;
    offIcon?: React__default.ReactNode;
    helperText?: React__default.ReactNode;
    error?: string;
    labelClassName?: string;
    switchClassName?: string;
    switchKnobClassName?: string;
    errorClassName?: string;
    helperClassName?: string;
    className?: string;
    ref?: React__default.Ref<HTMLInputElement>;
}
declare function Switch({ label, labelPlacement, labelWeight, size, variant, disabled, onIcon, offIcon, error, helperText, className, labelClassName, switchClassName, switchKnobClassName, errorClassName, helperClassName, ref, checked, defaultChecked, ...props }: SwitchProps): react_jsx_runtime.JSX.Element;

export { Switch, type SwitchProps };
