import { IsObjectWithKeys } from '../../types';
import { ConfigOptionType, ExtractValueType, OptionValueType } from '../../types';
declare const _default: <Option extends OptionValueType, Config extends ConfigOptionType<Option>, Model extends ExtractValueType<Option, Config>>(__VLS_props: {
    label?: string | undefined;
    readonly onChange?: ((pl: Option[]) => any) | undefined;
    disabled?: boolean | undefined;
    max?: number | undefined;
    modelValue?: Model[] | undefined;
    valueKey?: IsObjectWithKeys<Option> | undefined;
    dataTestName?: string | undefined;
    readonly "onUpdate:modelValue"?: ((pl: Model[]) => any) | undefined;
    min?: number | undefined;
    checkboxes?: Option[] | undefined;
    selectAllLabel?: string | undefined;
    visibleAll?: boolean | undefined;
    config?: Config | undefined;
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, __VLS_ctx?: {
    attrs: any;
    slots: {
        "checkbox-label"?(_: {
            checkbox: Option;
        }): any;
    };
    emit: {
        (e: 'update:modelValue', pl: Model[]): void;
        (e: 'change', pl: Option[]): void;
    };
} | undefined, __VLS_expose?: ((exposed: import('vue').ShallowUnwrapRef<{}>) => void) | undefined, __VLS_setup?: Promise<{
    props: {
        label?: string | undefined;
        readonly onChange?: ((pl: Option[]) => any) | undefined;
        disabled?: boolean | undefined;
        max?: number | undefined;
        modelValue?: Model[] | undefined;
        valueKey?: IsObjectWithKeys<Option> | undefined;
        dataTestName?: string | undefined;
        readonly "onUpdate:modelValue"?: ((pl: Model[]) => any) | undefined;
        min?: number | undefined;
        checkboxes?: Option[] | undefined;
        selectAllLabel?: string | undefined;
        visibleAll?: boolean | undefined;
        config?: Config | undefined;
    } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
    expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
    attrs: any;
    slots: {
        "checkbox-label"?(_: {
            checkbox: Option;
        }): any;
    };
    emit: {
        (e: 'update:modelValue', pl: Model[]): void;
        (e: 'change', pl: Option[]): void;
    };
}>) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}> & {
    __ctx?: {
        props: {
            label?: string | undefined;
            readonly onChange?: ((pl: Option[]) => any) | undefined;
            disabled?: boolean | undefined;
            max?: number | undefined;
            modelValue?: Model[] | undefined;
            valueKey?: IsObjectWithKeys<Option> | undefined;
            dataTestName?: string | undefined;
            readonly "onUpdate:modelValue"?: ((pl: Model[]) => any) | undefined;
            min?: number | undefined;
            checkboxes?: Option[] | undefined;
            selectAllLabel?: string | undefined;
            visibleAll?: boolean | undefined;
            config?: Config | undefined;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps;
        expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
        attrs: any;
        slots: {
            "checkbox-label"?(_: {
                checkbox: Option;
            }): any;
        };
        emit: {
            (e: 'update:modelValue', pl: Model[]): void;
            (e: 'change', pl: Option[]): void;
        };
    } | undefined;
};
export default _default;
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
