import { ChangeEvent, FC, MouseEventHandler } from "react";
export interface NvCheckboxProps {
/** The name attribute of the input element. */
name?: string;
/** The text value next to the checkbox. */
value?: string;
/** The label text over the checkbox. */
label?: string;
/** The text between the label and the checkbox. */
description?: string;
/** The error text under the checkbox, if true the label is red. */
error?: string;
/** If true, the component is checked. */
checked?: boolean;
/** If true, the component is disabled. */
disabled?: boolean;
/** Whether icon should be floated to the left (so text value nearby can wrap it). */
floatingIcon?: boolean;
/** If true and checkbox is checked, the checkbox will be visually in indeterminate state. */
dropVariant?: boolean;
/** The tabIndex attribute of the input element. */
tabNum?: number;
/** The additional CSS class for the wrapper element. */
className?: string;
/** Callback fired when the state is changed. */
onChange?: (e: ChangeEvent) => void;
/** Callback fired when the input is clicked. */
onClick?: MouseEventHandler;
}
/**
* Functional component for rendering a checkbox input with customizable label, description, and error message.
* @param {NvCheckboxProps} props - The props object containing name, value, label, description, error, floatingIcon, dropVariant, checked, disabled, tabNum, onChange, and onClick.
* @returns {JSX.Element} A checkbox input wrapped in a label element with optional icon and text.
*/
declare const NvCheckbox: FC;
export default NvCheckbox;