import type { Type } from './interface';
import type { DefineComponent, PropType, ComputedRef, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, CSSProperties } from 'vue';
declare const _sfc_main: DefineComponent<{
    readonly type: {
        readonly type: PropType<Type>;
        readonly default: () => Type;
        readonly validator: (v: Type) => boolean;
    };
    readonly size: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly color: StringConstructor;
}, {
    prop: Readonly<{
        [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
        type: Type;
        size: string;
        color: string | undefined;
    }>;
    isClass: ComputedRef<string[]>;
    isStyle: ComputedRef<CSSProperties>;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<{
    readonly type?: unknown;
    readonly size?: unknown;
    readonly color?: unknown;
} & {
    type: Type;
    size: string;
} & {
    color?: string | undefined;
}>, {
    type: Type;
    size: string;
}>;
export default _sfc_main;
