import { Ref } from 'react';
/**
 * Custom Checkbox component dengan styling Tailwind:
 * - Kotak “unchecked” → border abu‐abu
 * - Kotak “checked”   → background hitam + ikon centang putih
 * - Kotak “indeterminate” → background hitam + ikon minus putih
 * - State disabled    → border & background memudar, teks memudar, ikon memudar
 *
 * @param {string} id         - ID unik untuk input (untuk accessibility).
 * @param {string} label      - Teks label utama.
 * @param {string} [subtext]  - Teks kecil di bawah label (opsional).
 * @param {boolean} checked   - Controlled: apakah checked.
 * @param {boolean} [indeterminate] - Controlled: apakah indeterminate.
 * @param {(val: boolean) => void} onChange - Callback saat di‐toggle.
 * @param {boolean} [disabled] - Jika true, tidak bisa diklik.
 * @param {string} [className] - Tambahan Tailwind classes.
 * @param {Ref<HTMLInputElement>} [inputRef] - Ref ke `<input>` untuk indeterminate.
 * @param {boolean} [invalid] - Jika true, tampilkan border merah dan state error
 */
export interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'type'> {
    id: string;
    label: string;
    subtext?: string;
    checked: boolean;
    indeterminate?: boolean;
    onChange: (checked: boolean) => void;
    disabled?: boolean;
    className?: string;
    inputRef?: Ref<HTMLInputElement>;
    invalid?: boolean;
}
export default function Checkbox({ id, label, subtext, checked, indeterminate, onChange, disabled, className, inputRef, invalid, ...rest }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=Checkbox.d.ts.map