import * as react_jsx_runtime from 'react/jsx-runtime';
import * as React$1 from 'react';
import { IconName } from '@raiadrogasil/pulso-icons';

type TCheckboxSizes = 'xl' | 'lg' | 'ml' | 'md';

type TCheckboxProps = {
    /**
     * Conteúdo do Checkbox.
     */
    children?: React.ReactNode;
    /**
     * Método chamado para atualização do estado do Checkbox.
     */
    onClick: (checked: boolean) => void;
    /**
     * Define os tamanhos disponíveis para o componente Checkbox.
     */
    size?: TCheckboxSizes;
    /**
     * Propriedade para renderização do ícone de checado.
     */
    checked?: boolean;
    /**
     * Propriedade para renderização do ícone de indeterminado.
     */
    indeterminate?: boolean;
    /**
     * Propriedade para exibição de erro.
     */
    error?: boolean;
    /**
     * Propriedade de exibição da mensagem de rro.
     */
    hasFeedbackMessage?: boolean;
    /**
     * Propriedade de mensagem do erro.
     */
    feedbackMessage?: string;
    /**
     * Propriedade para desabilitar o Checkbox.
     */
    disabled?: boolean;
    /**
     * Propriedade para deixar o Checkbox somente como leitura.
     */
    readonly?: boolean;
    /**
     * Texto associado ao checkbox.
     */
    label?: string;
    icon?: IconName;
};

type TCheckboxLabelProps = {
    children: string;
    size?: TCheckboxSizes;
    error?: boolean;
    disabled?: boolean;
    readonly?: boolean;
};
declare function CheckboxLabel({ children, size, error, disabled, readonly, }: TCheckboxLabelProps): react_jsx_runtime.JSX.Element;

type IHelperTextProps = {
    icon?: IconName;
    children: React.ReactNode;
    isError?: boolean;
};
declare function CheckboxHelperText({ icon, children, isError, }: IHelperTextProps): react_jsx_runtime.JSX.Element;

declare const Checkbox: {
    Root: React$1.ForwardRefExoticComponent<TCheckboxProps & React$1.RefAttributes<HTMLDivElement>>;
    Label: typeof CheckboxLabel;
    HelperText: typeof CheckboxHelperText;
    Parent: ({ children, size, }: {
        children: React.ReactNode;
        size?: TCheckboxProps["size"];
    }) => react_jsx_runtime.JSX.Element;
    Actions: ({ children, size, disabled, readonly, error, }: {
        children: React.ReactNode;
        size?: TCheckboxProps["size"];
        disabled?: boolean;
        readonly?: boolean;
        error?: boolean;
    }) => react_jsx_runtime.JSX.Element;
    IconCheck: ({ symbol, size, disabled, readonly, hasLabelText, }: {
        symbol: IconName;
        size?: TCheckboxProps["size"];
        disabled?: boolean;
        readonly?: boolean;
        hasLabelText?: boolean;
    }) => react_jsx_runtime.JSX.Element;
};

export { Checkbox, type TCheckboxProps };
