
"use client";
import { UniversalCheckboxProps } from "../../../types/dist/index.js";
import React, { ChangeEvent } from "react";

//#region src/components/client/Checkbox/types.d.ts
type DataAttributes = {
  [name: `data-${string}`]: string;
};
type NativeInputProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type' | 'checked' | 'size' | 'height' | 'width' | 'color'>;
type CheckboxChangeEvent = ChangeEvent<HTMLInputElement>;
type CheckboxValueState = 'checked' | 'unchecked' | 'indeterminate';
interface CheckboxProps extends NativeInputProps, UniversalCheckboxProps {
  /** Props to be passed into various slots within the component. */
  slotProps?: {
    root?: DataAttributes;
    checkbox?: DataAttributes;
    icon?: DataAttributes;
    label?: DataAttributes;
  };
}
//#endregion
export { type CheckboxChangeEvent, type CheckboxProps, type CheckboxValueState, type DataAttributes, type NativeInputProps };