import type { dkTarget, dkPlusType, dkPlusSize, MouseEventType, dkPersonalityButtonType, ClassListName } from '../_interface';
import type { returnType } from '../_utils/props';
import type { DefineComponent, PropType, Ref, ComputedRef, CSSProperties, ComponentOptionsMixin, PublicProps, ExtractPropTypes } from 'vue';
import type { Install } from '../_utils/withInstall';
import button from "./src/button";
export declare const DkButton: Install<DefineComponent<{
    readonly link: returnType<BooleanConstructor, boolean>;
    readonly href: returnType<PropType<string>, string | null>;
    readonly target: returnType<PropType<dkTarget>, dkTarget | null>;
    readonly text: returnType<BooleanConstructor, boolean>;
    readonly type: returnType<PropType<dkPlusType>, dkPlusType | null>;
    readonly size: returnType<PropType<dkPlusSize>, dkPlusSize | null>;
    readonly fontSize: returnType<PropType<string>, string | null>;
    readonly fontColor: returnType<PropType<string>, string | null>;
    readonly bgColor: returnType<PropType<string>, string | null>;
    readonly disabled: returnType<BooleanConstructor, boolean>;
    readonly textDecoration: returnType<PropType<string>, string | null>;
    readonly onClick: returnType<PropType<MouseEventType>, MouseEventType | undefined>;
    readonly circle: returnType<BooleanConstructor, boolean>;
    readonly shadow: returnType<PropType<string>, string | null>;
    readonly ripples: returnType<BooleanConstructor, boolean>;
    readonly ripplesBgColor: returnType<PropType<string>, string | null>;
    readonly diffusion: returnType<BooleanConstructor, boolean>;
    readonly diffusionBgColor: returnType<PropType<string>, string | null>;
    readonly personality: returnType<BooleanConstructor, boolean>;
    readonly personalityType: returnType<PropType<dkPersonalityButtonType>, dkPersonalityButtonType | null>;
    readonly personalitySize: returnType<PropType<dkPlusSize>, dkPlusSize | null>;
    readonly personalityBorderColor: returnType<PropType<string>, string | null>;
    readonly personalityBorderHoveColor: returnType<PropType<string>, string | null>;
    readonly personalityBgColor: returnType<PropType<string>, string | null>;
    readonly personalityBgHoveColor: returnType<PropType<string>, string | null>;
    readonly personalityFontColor: returnType<PropType<string>, string | null>;
    readonly personalityFontHoveColor: returnType<PropType<string>, string | null>;
    readonly personalityBoxShadow: returnType<PropType<string>, string | null>;
    readonly personalityBoxShadowHove: returnType<PropType<string>, string | null>;
    readonly personalityReflect: returnType<PropType<string>, string | null>;
    readonly loading: returnType<BooleanConstructor, boolean>;
    readonly round: returnType<BooleanConstructor, boolean>;
    readonly icon: returnType<PropType<string>, string | null>;
    readonly afterIcon: returnType<PropType<string>, string | null>;
}, {
    EventClick: (evt: MouseEvent) => void;
    dkBoxButton: Ref<HTMLButtonElement | undefined>;
    classList: ComputedRef<ClassListName>;
    styleList: ComputedRef<CSSProperties>;
    personaClassList: ComputedRef<ClassListName>;
    personalityStylist: ComputedRef<CSSProperties>;
    personalityType: Ref<dkPersonalityButtonType>;
    icon: Ref<string>;
    afterIcon: Ref<string>;
    circle: Ref<boolean>;
}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<{
    readonly link: returnType<BooleanConstructor, boolean>;
    readonly href: returnType<PropType<string>, string | null>;
    readonly target: returnType<PropType<dkTarget>, dkTarget | null>;
    readonly text: returnType<BooleanConstructor, boolean>;
    readonly type: returnType<PropType<dkPlusType>, dkPlusType | null>;
    readonly size: returnType<PropType<dkPlusSize>, dkPlusSize | null>;
    readonly fontSize: returnType<PropType<string>, string | null>;
    readonly fontColor: returnType<PropType<string>, string | null>;
    readonly bgColor: returnType<PropType<string>, string | null>;
    readonly disabled: returnType<BooleanConstructor, boolean>;
    readonly textDecoration: returnType<PropType<string>, string | null>;
    readonly onClick: returnType<PropType<MouseEventType>, MouseEventType | undefined>;
    readonly circle: returnType<BooleanConstructor, boolean>;
    readonly shadow: returnType<PropType<string>, string | null>;
    readonly ripples: returnType<BooleanConstructor, boolean>;
    readonly ripplesBgColor: returnType<PropType<string>, string | null>;
    readonly diffusion: returnType<BooleanConstructor, boolean>;
    readonly diffusionBgColor: returnType<PropType<string>, string | null>;
    readonly personality: returnType<BooleanConstructor, boolean>;
    readonly personalityType: returnType<PropType<dkPersonalityButtonType>, dkPersonalityButtonType | null>;
    readonly personalitySize: returnType<PropType<dkPlusSize>, dkPlusSize | null>;
    readonly personalityBorderColor: returnType<PropType<string>, string | null>;
    readonly personalityBorderHoveColor: returnType<PropType<string>, string | null>;
    readonly personalityBgColor: returnType<PropType<string>, string | null>;
    readonly personalityBgHoveColor: returnType<PropType<string>, string | null>;
    readonly personalityFontColor: returnType<PropType<string>, string | null>;
    readonly personalityFontHoveColor: returnType<PropType<string>, string | null>;
    readonly personalityBoxShadow: returnType<PropType<string>, string | null>;
    readonly personalityBoxShadowHove: returnType<PropType<string>, string | null>;
    readonly personalityReflect: returnType<PropType<string>, string | null>;
    readonly loading: returnType<BooleanConstructor, boolean>;
    readonly round: returnType<BooleanConstructor, boolean>;
    readonly icon: returnType<PropType<string>, string | null>;
    readonly afterIcon: returnType<PropType<string>, string | null>;
}>>, {
    readonly size: dkPlusSize;
    readonly link: boolean;
    readonly href: string;
    readonly target: dkTarget;
    readonly text: boolean;
    readonly type: dkPlusType;
    readonly fontSize: string;
    readonly fontColor: string;
    readonly bgColor: string;
    readonly disabled: boolean;
    readonly textDecoration: string;
    readonly onClick: MouseEventType;
    readonly circle: boolean;
    readonly shadow: string;
    readonly ripples: boolean;
    readonly ripplesBgColor: string;
    readonly diffusion: boolean;
    readonly diffusionBgColor: string;
    readonly personality: boolean;
    readonly personalityType: dkPersonalityButtonType;
    readonly personalitySize: dkPlusSize;
    readonly personalityBorderColor: string;
    readonly personalityBorderHoveColor: string;
    readonly personalityBgColor: string;
    readonly personalityBgHoveColor: string;
    readonly personalityFontColor: string;
    readonly personalityFontHoveColor: string;
    readonly personalityBoxShadow: string;
    readonly personalityBoxShadowHove: string;
    readonly personalityReflect: string;
    readonly loading: boolean;
    readonly round: boolean;
    readonly icon: string;
    readonly afterIcon: string;
}, {}>>;
export type ButtonInstance = InstanceType<typeof button>;
export default DkButton;
