import { PropType, InjectionKey, Ref } from 'vue';
import { MaybeArray } from '../../_utils';
import type { ExtractPublicPropTypes } from '../../_utils';
export interface CheckboxGroupInjection {
    disabledRef: Ref<boolean>;
    valueSetRef: Ref<Set<string | number>>;
    mergedSizeRef: Ref<'small' | 'medium' | 'large'>;
    toggleCheckbox: (checked: boolean, checkboxValue: string | number) => void;
}
export declare const checkboxGroupInjectionKey: InjectionKey<CheckboxGroupInjection>;
declare const checkboxGroupProps: {
    readonly size: PropType<"small" | "medium" | "large">;
    readonly value: PropType<(string | number)[] | null>;
    readonly defaultValue: {
        readonly type: PropType<(string | number)[] | null>;
        readonly default: null;
    };
    readonly disabled: BooleanConstructor;
    readonly 'onUpdate:value': PropType<MaybeArray<(value: Array<string | number>) => void>>;
    readonly onUpdateValue: PropType<MaybeArray<(value: Array<string | number>) => void>>;
    readonly onChange: {
        readonly type: PropType<MaybeArray<(value: Array<string | number>) => void> | undefined>;
        readonly validator: () => boolean;
        readonly default: undefined;
    };
};
export declare type CheckboxGroupProps = ExtractPublicPropTypes<typeof checkboxGroupProps>;
declare const _default: import("vue").DefineComponent<{
    readonly size: PropType<"small" | "medium" | "large">;
    readonly value: PropType<(string | number)[] | null>;
    readonly defaultValue: {
        readonly type: PropType<(string | number)[] | null>;
        readonly default: null;
    };
    readonly disabled: BooleanConstructor;
    readonly 'onUpdate:value': PropType<MaybeArray<(value: (string | number)[]) => void>>;
    readonly onUpdateValue: PropType<MaybeArray<(value: (string | number)[]) => void>>;
    readonly onChange: {
        readonly type: PropType<MaybeArray<(value: (string | number)[]) => void> | undefined>;
        readonly validator: () => boolean;
        readonly default: undefined;
    };
}, {
    mergedClsPrefix: import("vue").ComputedRef<string>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
    disabled: boolean;
    defaultValue: (string | number)[] | null;
} & {
    value?: (string | number)[] | null | undefined;
    size?: "small" | "medium" | "large" | undefined;
    onChange?: MaybeArray<(value: (string | number)[]) => void> | undefined;
    "onUpdate:value"?: MaybeArray<(value: (string | number)[]) => void> | undefined;
    onUpdateValue?: MaybeArray<(value: (string | number)[]) => void> | undefined;
}>, {
    disabled: boolean;
    onChange: MaybeArray<(value: (string | number)[]) => void> | undefined;
    defaultValue: (string | number)[] | null;
}>;
export default _default;
