import { type FormComponentStates } from "./types.js";
/**
 * The size to use for the `Checkbox` or `Radio` component. Each of these values
 * except for `"auto"` map to Sass variables:
 * - `"small"` - `$input-toggle-small-size`
 * - `"dense"` - `$input-toggle-dense-size`
 * - `"normal"` - `$input-toggle-large-size`
 * - `"large"` - `$input-toggle-large-size`
 *
 * When this is set to `"auto"`, the size will be determined by the current
 * `font-size` of the `Label` element.
 *
 * @remarks \@since 6.0.0
 */
export type InputToggleSize = "auto" | "small" | "dense" | "normal" | "large";
/** @remarks \@since 6.0.0 */
export interface InputToggleClassNameOptions extends Omit<FormComponentStates, "readOnly"> {
    className?: string;
    type: "checkbox" | "radio";
    /**
     * Set the icon size to `1em` to allow easy sizing through font size.
     *
     * @defaultValue `true`
     */
    em?: boolean;
    /**
     * @see {@link InputToggleSize}
     * @defaultValue `"auto"`
     */
    size?: InputToggleSize;
    uncontrolled?: boolean;
}
/**
 * @remarks \@since 6.0.0
 */
export declare function inputToggle(options: InputToggleClassNameOptions): string;
