import { ComponentPropsWithRef, ReactNode } from 'react';
import { StylesProps } from './SwitchInput.styles';
export interface SwitchInputProps extends StylesProps, Omit<ComponentPropsWithRef<'button'>, 'value'> {
    /**
     * The state of the switch when it is initially rendered. Use when you do not need to control its state.
     */
    defaultChecked?: boolean;
    /**
     * The controlled state of the switch. Must be used in conjunction with `onCheckedChange`.
     */
    checked?: boolean;
    /**
     * When true, prevents the user from interacting with the switch.
     */
    /**
     * Event handler called when the state of the switch changes.
     */
    onCheckedChange?: (checked: boolean) => void;
    /**
     * When `true`, prevents the user from interacting with the switch.
     */
    disabled?: boolean;
    /**
     * When true, indicates that the user must check the switch before the owning form can be submitted.
     */
    required?: boolean;
    /**
     * The name of the switch. Submitted with its owning form as part of a name/value pair.
     */
    name?: string;
    /**
     * The value given as data when submitted with a name.
     */
    value?: string;
    /**
     * Icon shown inside the thumb of the Switch whenever it is checked
     */
    checkedIcon?: ReactNode;
    /**
     * Icon shown inside the thumb of the Switch whenever it is unchecked
     */
    uncheckedIcon?: ReactNode;
    /**
     * When true, the label will be placed on the left side of the Switch
     */
    reverse?: boolean;
}
export declare const SwitchInput: {
    ({ checked, checkedIcon, defaultChecked, intent: intentProp, uncheckedIcon, size, value, onCheckedChange, className, required, ref, ...rest }: SwitchInputProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
