import React, { CSSProperties } from "react";
import "./style.scss";
export interface CheckboxProps<T = React.Key> {
    checked?: boolean;
    style?: CSSProperties;
    className?: string;
    value: T;
    disabled?: boolean;
    label?: React.ReactNode;
    onChange?: (v: T, checked: boolean) => void;
    children?: React.ReactNode;
    indeterminate?: boolean;
}
export interface CheckboxGroupProps<T = React.Key> {
    value?: Array<T>;
    options: Array<CheckboxOption<T>>;
    style?: CSSProperties;
    className?: string;
    disabled?: boolean;
    direction?: "vertical" | "horizontal";
    onChange?: (v: Array<T>) => void;
}
export type CheckboxOption<T> = {
    value: T;
    label?: React.ReactNode;
    disabled?: boolean;
};
/**
 * Checkbox 组件
 * @param props 组件属性
 * @returns JSX.Element
 */
declare const Checkbox: {
    <T extends React.Key = React.Key>(props: CheckboxProps<T>): JSX.Element;
    CheckboxGroup: <T_1 extends React.Key = React.Key>(props: CheckboxGroupProps<T_1>) => JSX.Element;
};
export default Checkbox;
