import type { EmitFn } from 'vuesax-alpha/es/utils';
import type { ExtractPropTypes } from 'vue';
import type Checkbox from './checkbox.vue';
export declare type CheckboxValueType = string | number | boolean | object;
export declare type CheckboxModelType = CheckboxValueType | CheckboxValueType[];
export declare const checkboxProps: {
    readonly color: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<StringConstructor, "primary" | "success" | "danger" | "warn" | "dark" | "text" | "light" | "secondary" | "facebook" | "twitter" | "youtube" | "pinterest" | "linkedin" | "snapchat" | "whatsapp" | "tumblr" | "reddit" | "spotify" | "amazon" | "medium" | "vimeo" | "skype" | "dribbble" | "slack" | "yahoo" | "twitch" | "discord" | "telegram" | "google-plus" | "messenger", import("vuesax-alpha/es/constants").Color>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly modelValue: import("vuesax-alpha/es/utils").VsPropFinalized<(new (...args: any[]) => CheckboxModelType & {}) | (() => CheckboxModelType) | ((new (...args: any[]) => CheckboxModelType & {}) | (() => CheckboxModelType))[], unknown, unknown, undefined, boolean>;
    readonly notValue: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<(new (...args: any[]) => CheckboxModelType & {}) | (() => CheckboxModelType) | ((new (...args: any[]) => CheckboxModelType & {}) | (() => CheckboxModelType))[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly value: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<(new (...args: any[]) => CheckboxModelType & {}) | (() => CheckboxModelType) | ((new (...args: any[]) => CheckboxModelType & {}) | (() => CheckboxModelType))[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly id: import("vuesax-alpha/es/utils").VsPropFinalized<StringConstructor, unknown, unknown, null, boolean>;
    readonly indeterminate: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly checked: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly checkedForce: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly disabled: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly loading: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly label: {
        readonly type: import("vue").PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly labelBefore: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly lineThrough: {
        readonly type: import("vue").PropType<import("vuesax-alpha/es/utils").VsPropMergeType<BooleanConstructor, unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly name: import("vuesax-alpha/es/utils").VsPropFinalized<StringConstructor, unknown, unknown, undefined, boolean>;
    readonly min: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
    readonly max: {
        readonly type: import("vue").PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __vsPropKey: true;
    };
};
export declare const checkboxEmits: {
    "update:modelValue": (val: CheckboxModelType) => boolean;
    change: (val: CheckboxModelType) => boolean;
};
export declare type CheckboxProps = ExtractPropTypes<typeof checkboxProps>;
export declare type CheckboxEmits = typeof checkboxEmits;
export declare type CheckboxEmitsFn = EmitFn<CheckboxEmits>;
export declare type CheckboxInstance = InstanceType<typeof Checkbox>;
