import * as react from 'react';
import { ReactNode } from 'react';
import { CheckboxProps } from '@radix-ui/react-checkbox';

declare enum Variants {
    Primary = "primary",
    Secondary = "secondary",
    Tertiary = "tertiary"
}
declare const DEFAULT_VARIANT = Variants.Primary;
declare enum Colors {
    Blue = "blue",
    Green = "green",
    Pink = "pink",
    Purple = "purple",
    Yellow = "yellow"
}
declare const DEFAULT_COLOR = Colors.Pink;

interface InputCheckboxProps extends Omit<CheckboxProps, 'asChild'> {
    checked?: CheckboxProps['checked'];
    children?: ReactNode;
    color?: `${Colors}`;
    defaultChecked?: CheckboxProps['defaultChecked'];
    disabled?: boolean;
    fullWidth?: boolean;
    id?: string;
    label?: string;
    labelAsDiv?: boolean;
    name?: string;
    readOnly?: boolean;
    required?: boolean;
    value?: string;
    variant?: `${Variants}`;
    onCheckedChange?: (checked: CheckboxProps['checked']) => void;
}

declare const InputCheckbox: react.ForwardRefExoticComponent<InputCheckboxProps & react.RefAttributes<HTMLButtonElement>>;

export { DEFAULT_COLOR as DEFAULT_INPUT_CHECKBOX_COLOR, DEFAULT_VARIANT as DEFAULT_INPUT_CHECKBOX_VARIANT, InputCheckbox, type InputCheckboxProps, Variants as InputCheckboxVariants };
