import type { TNode } from '../common';
export interface TdCheckboxProps {
    checkAll?: boolean;
    checked?: boolean;
    defaultChecked?: boolean;
    default?: string | TNode;
    disabled?: boolean;
    indeterminate?: boolean;
    label?: string | TNode;
    name?: string;
    readonly?: boolean;
    value?: string | number;
    onChange?: (checked: boolean, context: {
        e: Event;
    }) => void;
}
export interface TdCheckboxGroupProps {
    disabled?: boolean;
    max?: number;
    name?: string;
    options?: Array<CheckboxOption>;
    value?: CheckboxGroupValue;
    defaultValue?: CheckboxGroupValue;
    onChange?: (value: CheckboxGroupValue, context: CheckboxGroupChangeContext) => void;
}
export declare type CheckboxOption = string | number | CheckboxOptionObj;
export interface CheckboxOptionObj {
    label?: string | TNode;
    value?: string | number;
    disabled?: boolean;
    name?: string;
    checkAll?: true;
}
export declare type CheckboxGroupValue = Array<string | number>;
export interface CheckboxGroupChangeContext {
    e: Event;
    current: string | number;
    option: CheckboxOption | TdCheckboxProps;
    type: 'check' | 'uncheck';
}
