import React from "react";
import { type VibeComponentProps } from "../../types";
export interface CheckBoxProps extends VibeComponentProps {
    /**
     * Class name applied to the checkbox element.
     */
    checkboxClassName?: string;
    /**
     * Class name applied to the label element.
     */
    labelClassName?: string;
    /**
     * The label of the checkbox for accessibility.
     */
    ariaLabel?: string;
    /**
     * The content displayed next to the checkbox.
     */
    label?: React.ReactNode | Array<React.ReactNode>;
    /**
     * The ID of an element describing the checkbox.
     */
    ariaLabelledBy?: string;
    /**
     * Callback fired when the checkbox value changes.
     */
    onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
    /**
     * If true, controls the checked state of the checkbox.
     */
    checked?: boolean;
    /**
     * If true, displays an indeterminate state.
     */
    indeterminate?: boolean;
    /**
     * If true, the checkbox automatically receives focus.
     */
    autoFocus?: boolean;
    /**
     * If true, the checkbox is disabled.
     */
    disabled?: boolean;
    /**
     * The initial checked state of the checkbox.
     */
    defaultChecked?: boolean;
    /**
     * The value submitted with the form when checked.
     */
    value?: string;
    /**
     * The name of the checkbox, used for form submission.
     */
    name?: string;
    /**
     * The tab order of the checkbox.
     */
    tabIndex?: number;
    /**
     * If true, uses separate labels with htmlFor/id association instead of wrapping the input.
     * If using this the id prop is required for it to function correctly.
     */
    separateLabel?: boolean;
}
declare const Checkbox: React.ForwardRefExoticComponent<CheckBoxProps & React.RefAttributes<HTMLInputElement>>;
export default Checkbox;
