import type { ExtractPropTypes, PropType } from 'vue';
import type Checkbox from './checkbox.vue';
export declare const checkboxProps: {
    ariaControls: StringConstructor;
    /**
     * @description binding value
     */
    modelValue: {
        type: (BooleanConstructor | StringConstructor | NumberConstructor | ArrayConstructor)[];
        default: any;
    };
    /**
     * @description label of the Checkbox when used inside a `checkbox-group`
     */
    label: {
        type: PropType<string | number | boolean | Record<string, unknown>>;
        default: any;
    };
    /**
     * @description value of the Checkbox when used inside a `checkbox-group`
     */
    value: {
        type: (BooleanConstructor | ObjectConstructor | StringConstructor | NumberConstructor)[];
        default: any;
    };
    /**
     * @description Set indeterminate state, only responsible for style control
     */
    indeterminate: BooleanConstructor;
    /**
     * @description whether the Checkbox is disabled
     */
    disabled: BooleanConstructor;
    /**
     * @description if the Checkbox is checked
     */
    checked: BooleanConstructor;
    bold: BooleanConstructor;
    fill: BooleanConstructor;
    custom: BooleanConstructor;
    round: BooleanConstructor;
    /**
     * @description native 'name' attribute
     */
    name: {
        type: StringConstructor;
        default: any;
    };
    trueValue: {
        type: (StringConstructor | NumberConstructor)[];
        default: any;
    };
    /**
     * @description value of the Checkbox if it's not checked
     */
    falseValue: {
        type: (StringConstructor | NumberConstructor)[];
        default: any;
    };
    /**
     * @deprecated use `trueValue` instead
     * @description value of the Checkbox if it's checked
     */
    trueLabel: {
        type: (StringConstructor | NumberConstructor)[];
        default: any;
    };
    /**
     * @deprecated use `falseValue` instead
     * @description value of the Checkbox if it's not checked
     */
    falseLabel: {
        type: (StringConstructor | NumberConstructor)[];
        default: any;
    };
    /**
     * @description input id
     */
    id: {
        type: StringConstructor;
        default: any;
    };
    type: {
        type: PropType<"success" | "info" | "warning" | "danger" | "link" | "primary">;
        validator: (val: string) => boolean;
    };
    /**
     * @description size of the Checkbox
     */
    size: {
        type: PropType<"xxxs" | "xxs" | "xs" | "sm" | "md" | "lg" | "xl" | "xxl" | "xxxl">;
        validator: (val: string) => boolean;
    };
    /**
     * @deprecated same as [aria-controls](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-controls), takes effect when `indeterminate` is `true`
     */
    controls: {
        type: StringConstructor;
        default: any;
    };
    showLabel: {
        type: BooleanConstructor;
        default: boolean;
    };
    /**
     * @description input tabindex
     */
    tabindex: (StringConstructor | NumberConstructor)[];
    /**
     * @description whether to trigger form validation
     */
    validateEvent: {
        type: BooleanConstructor;
        default: boolean;
    };
};
export declare type CheckboxValueType = string | number | boolean;
export declare const checkboxEmits: {
    "update:modelValue": (val: CheckboxValueType) => boolean;
    change: (val: CheckboxValueType) => boolean;
};
export declare type CheckboxProps = ExtractPropTypes<typeof checkboxProps>;
export declare type CheckboxEmits = typeof checkboxEmits;
export declare type CheckboxInstance = InstanceType<typeof Checkbox>;
