export declare const makeButtonProps: <Defaults extends {
    elevation?: unknown;
    shape?: unknown;
    border?: unknown;
    density?: unknown;
    size?: unknown;
    height?: unknown;
    maxHeight?: unknown;
    maxWidth?: unknown;
    minHeight?: unknown;
    minWidth?: unknown;
    width?: unknown;
    absolute?: unknown;
    bottom?: unknown;
    fixed?: unknown;
    left?: unknown;
    position?: unknown;
    right?: unknown;
    top?: unknown;
    color?: unknown;
    textColor?: unknown;
    variant?: unknown;
    theme?: unknown;
    tag?: unknown;
    value?: unknown;
    disabled?: unknown;
    selectedClass?: unknown;
    href?: unknown;
    replace?: unknown;
    to?: unknown;
    loading?: unknown;
    type?: unknown;
    icon?: unknown;
    prependIcon?: unknown;
    appendIcon?: unknown;
    stacked?: unknown;
    block?: unknown;
    text?: unknown;
    ripple?: unknown;
    overlay?: unknown;
} = {}>(defaults?: Defaults | undefined) => {
    elevation: unknown extends Defaults["elevation"] ? {
        type: (StringConstructor | NumberConstructor)[];
        validator(v: any): boolean;
    } : Omit<{
        type: (StringConstructor | NumberConstructor)[];
        validator(v: any): boolean;
    }, "type" | "default"> & {
        type: import("vue").PropType<unknown extends Defaults["elevation"] ? string | number : NonNullable<string | number> | Defaults["elevation"]>;
        default: unknown extends Defaults["elevation"] ? string | number : NonNullable<string | number> | Defaults["elevation"];
    };
    shape: unknown extends Defaults["shape"] ? Omit<{
        type: import("vue").PropType<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
        default: string;
    }, "type" | "default"> & {
        type: import("vue").PropType<NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">>;
        default: NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
    } : Omit<Omit<{
        type: import("vue").PropType<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
        default: string;
    }, "type" | "default"> & {
        type: import("vue").PropType<NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">>;
        default: NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
    }, "type" | "default"> & {
        type: import("vue").PropType<unknown extends Defaults["shape"] ? NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill"> : NonNullable<NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">> | Defaults["shape"]>;
        default: unknown extends Defaults["shape"] ? NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill"> : NonNullable<NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">> | Defaults["shape"];
    };
    border: unknown extends Defaults["border"] ? (StringConstructor | BooleanConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["border"] ? string | number | boolean : NonNullable<string | number | boolean> | Defaults["border"]>;
        default: unknown extends Defaults["border"] ? string | number | boolean : NonNullable<string | number | boolean> | Defaults["border"];
    };
    density: unknown extends Defaults["density"] ? {
        type: import("vue").PropType<"high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined>;
        default: string;
        validator: (v: any) => boolean;
    } : Omit<{
        type: import("vue").PropType<"high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined>;
        default: string;
        validator: (v: any) => boolean;
    }, "type" | "default"> & {
        type: import("vue").PropType<unknown extends Defaults["density"] ? "high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined : NonNullable<"high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined> | Defaults["density"]>;
        default: unknown extends Defaults["density"] ? "high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined : NonNullable<"high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined> | Defaults["density"];
    };
    size: unknown extends Defaults["size"] ? {
        type: import("vue").PropType<import("../../composables/size").Size | undefined>;
        default: string;
    } : Omit<{
        type: import("vue").PropType<import("../../composables/size").Size | undefined>;
        default: string;
    }, "type" | "default"> & {
        type: import("vue").PropType<unknown extends Defaults["size"] ? import("../../composables/size").Size | undefined : NonNullable<import("../../composables/size").Size | undefined> | Defaults["size"]>;
        default: unknown extends Defaults["size"] ? import("../../composables/size").Size | undefined : NonNullable<import("../../composables/size").Size | undefined> | Defaults["size"];
    };
    height: unknown extends Defaults["height"] ? (StringConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["height"] ? string | number : NonNullable<string | number> | Defaults["height"]>;
        default: unknown extends Defaults["height"] ? string | number : NonNullable<string | number> | Defaults["height"];
    };
    maxHeight: unknown extends Defaults["maxHeight"] ? (StringConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["maxHeight"] ? string | number : NonNullable<string | number> | Defaults["maxHeight"]>;
        default: unknown extends Defaults["maxHeight"] ? string | number : NonNullable<string | number> | Defaults["maxHeight"];
    };
    maxWidth: unknown extends Defaults["maxWidth"] ? (StringConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["maxWidth"] ? string | number : NonNullable<string | number> | Defaults["maxWidth"]>;
        default: unknown extends Defaults["maxWidth"] ? string | number : NonNullable<string | number> | Defaults["maxWidth"];
    };
    minHeight: unknown extends Defaults["minHeight"] ? (StringConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["minHeight"] ? string | number : NonNullable<string | number> | Defaults["minHeight"]>;
        default: unknown extends Defaults["minHeight"] ? string | number : NonNullable<string | number> | Defaults["minHeight"];
    };
    minWidth: unknown extends Defaults["minWidth"] ? (StringConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["minWidth"] ? string | number : NonNullable<string | number> | Defaults["minWidth"]>;
        default: unknown extends Defaults["minWidth"] ? string | number : NonNullable<string | number> | Defaults["minWidth"];
    };
    width: unknown extends Defaults["width"] ? (StringConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["width"] ? string | number : NonNullable<string | number> | Defaults["width"]>;
        default: unknown extends Defaults["width"] ? string | number : NonNullable<string | number> | Defaults["width"];
    };
    absolute: unknown extends Defaults["absolute"] ? BooleanConstructor : {
        type: import("vue").PropType<unknown extends Defaults["absolute"] ? boolean : boolean | Defaults["absolute"]>;
        default: unknown extends Defaults["absolute"] ? boolean : boolean | Defaults["absolute"];
    };
    bottom: unknown extends Defaults["bottom"] ? (StringConstructor | BooleanConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["bottom"] ? string | number | boolean : NonNullable<string | number | boolean> | Defaults["bottom"]>;
        default: unknown extends Defaults["bottom"] ? string | number | boolean : NonNullable<string | number | boolean> | Defaults["bottom"];
    };
    fixed: unknown extends Defaults["fixed"] ? BooleanConstructor : {
        type: import("vue").PropType<unknown extends Defaults["fixed"] ? boolean : boolean | Defaults["fixed"]>;
        default: unknown extends Defaults["fixed"] ? boolean : boolean | Defaults["fixed"];
    };
    left: unknown extends Defaults["left"] ? (StringConstructor | BooleanConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["left"] ? string | number | boolean : NonNullable<string | number | boolean> | Defaults["left"]>;
        default: unknown extends Defaults["left"] ? string | number | boolean : NonNullable<string | number | boolean> | Defaults["left"];
    };
    position: unknown extends Defaults["position"] ? {
        type: import("vue").PropType<"fixed" | "static" | "relative" | "absolute" | "sticky">;
        validator: (v: any) => boolean;
    } : Omit<{
        type: import("vue").PropType<"fixed" | "static" | "relative" | "absolute" | "sticky">;
        validator: (v: any) => boolean;
    }, "type" | "default"> & {
        type: import("vue").PropType<unknown extends Defaults["position"] ? "fixed" | "static" | "relative" | "absolute" | "sticky" : NonNullable<"fixed" | "static" | "relative" | "absolute" | "sticky"> | Defaults["position"]>;
        default: unknown extends Defaults["position"] ? "fixed" | "static" | "relative" | "absolute" | "sticky" : NonNullable<"fixed" | "static" | "relative" | "absolute" | "sticky"> | Defaults["position"];
    };
    right: unknown extends Defaults["right"] ? (StringConstructor | BooleanConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["right"] ? string | number | boolean : NonNullable<string | number | boolean> | Defaults["right"]>;
        default: unknown extends Defaults["right"] ? string | number | boolean : NonNullable<string | number | boolean> | Defaults["right"];
    };
    top: unknown extends Defaults["top"] ? (StringConstructor | BooleanConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["top"] ? string | number | boolean : NonNullable<string | number | boolean> | Defaults["top"]>;
        default: unknown extends Defaults["top"] ? string | number | boolean : NonNullable<string | number | boolean> | Defaults["top"];
    };
    color: unknown extends Defaults["color"] ? StringConstructor : {
        type: import("vue").PropType<unknown extends Defaults["color"] ? string : string | Defaults["color"]>;
        default: unknown extends Defaults["color"] ? string : string | Defaults["color"];
    };
    textColor: unknown extends Defaults["textColor"] ? StringConstructor : {
        type: import("vue").PropType<unknown extends Defaults["textColor"] ? string : string | Defaults["textColor"]>;
        default: unknown extends Defaults["textColor"] ? string : string | Defaults["textColor"];
    };
    variant: unknown extends Defaults["variant"] ? Omit<{
        type: import("vue").PropType<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
        default: string;
        validator: (v: any) => boolean;
    }, "type" | "default"> & {
        type: import("vue").PropType<NonNullable<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">>;
        default: NonNullable<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
    } : Omit<Omit<{
        type: import("vue").PropType<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
        default: string;
        validator: (v: any) => boolean;
    }, "type" | "default"> & {
        type: import("vue").PropType<NonNullable<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">>;
        default: NonNullable<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
    }, "type" | "default"> & {
        type: import("vue").PropType<unknown extends Defaults["variant"] ? NonNullable<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined"> : NonNullable<NonNullable<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">> | Defaults["variant"]>;
        default: unknown extends Defaults["variant"] ? NonNullable<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined"> : NonNullable<NonNullable<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">> | Defaults["variant"];
    };
    theme: unknown extends Defaults["theme"] ? StringConstructor : {
        type: import("vue").PropType<unknown extends Defaults["theme"] ? string : string | Defaults["theme"]>;
        default: unknown extends Defaults["theme"] ? string : string | Defaults["theme"];
    };
    tag: unknown extends Defaults["tag"] ? Omit<{
        type: StringConstructor;
        default: string;
    }, "type" | "default"> & {
        type: import("vue").PropType<string>;
        default: string;
    } : Omit<Omit<{
        type: StringConstructor;
        default: string;
    }, "type" | "default"> & {
        type: import("vue").PropType<string>;
        default: string;
    }, "type" | "default"> & {
        type: import("vue").PropType<unknown extends Defaults["tag"] ? string : string | Defaults["tag"]>;
        default: unknown extends Defaults["tag"] ? string : string | Defaults["tag"];
    };
    value: unknown extends Defaults["value"] ? null : {
        type: import("vue").PropType<unknown extends Defaults["value"] ? any : any>;
        default: unknown extends Defaults["value"] ? any : any;
    };
    disabled: unknown extends Defaults["disabled"] ? BooleanConstructor : {
        type: import("vue").PropType<unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"]>;
        default: unknown extends Defaults["disabled"] ? boolean : boolean | Defaults["disabled"];
    };
    selectedClass: unknown extends Defaults["selectedClass"] ? StringConstructor : {
        type: import("vue").PropType<unknown extends Defaults["selectedClass"] ? string : string | Defaults["selectedClass"]>;
        default: unknown extends Defaults["selectedClass"] ? string : string | Defaults["selectedClass"];
    };
    href: unknown extends Defaults["href"] ? StringConstructor : {
        type: import("vue").PropType<unknown extends Defaults["href"] ? string : string | Defaults["href"]>;
        default: unknown extends Defaults["href"] ? string : string | Defaults["href"];
    };
    replace: unknown extends Defaults["replace"] ? BooleanConstructor : {
        type: import("vue").PropType<unknown extends Defaults["replace"] ? boolean : boolean | Defaults["replace"]>;
        default: unknown extends Defaults["replace"] ? boolean : boolean | Defaults["replace"];
    };
    to: unknown extends Defaults["to"] ? import("vue").PropType<import("vue-router").RouteLocationRaw> : {
        type: import("vue").PropType<unknown extends Defaults["to"] ? import("vue-router").RouteLocationRaw : NonNullable<import("vue-router").RouteLocationRaw> | Defaults["to"]>;
        default: unknown extends Defaults["to"] ? import("vue-router").RouteLocationRaw : NonNullable<import("vue-router").RouteLocationRaw> | Defaults["to"];
    };
    loading: unknown extends Defaults["loading"] ? BooleanConstructor : {
        type: import("vue").PropType<unknown extends Defaults["loading"] ? boolean : boolean | Defaults["loading"]>;
        default: unknown extends Defaults["loading"] ? boolean : boolean | Defaults["loading"];
    };
    type: unknown extends Defaults["type"] ? {
        type: StringConstructor;
        default: string;
    } : Omit<{
        type: StringConstructor;
        default: string;
    }, "type" | "default"> & {
        type: import("vue").PropType<unknown extends Defaults["type"] ? string : string | Defaults["type"]>;
        default: unknown extends Defaults["type"] ? string : string | Defaults["type"];
    };
    icon: unknown extends Defaults["icon"] ? (StringConstructor | ObjectConstructor | BooleanConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["icon"] ? unknown : {} | Defaults["icon"]>;
        default: unknown extends Defaults["icon"] ? unknown : {} | Defaults["icon"];
    };
    prependIcon: unknown extends Defaults["prependIcon"] ? (StringConstructor | ObjectConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["prependIcon"] ? unknown : {} | Defaults["prependIcon"]>;
        default: unknown extends Defaults["prependIcon"] ? unknown : {} | Defaults["prependIcon"];
    };
    appendIcon: unknown extends Defaults["appendIcon"] ? (StringConstructor | ObjectConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["appendIcon"] ? unknown : {} | Defaults["appendIcon"]>;
        default: unknown extends Defaults["appendIcon"] ? unknown : {} | Defaults["appendIcon"];
    };
    stacked: unknown extends Defaults["stacked"] ? BooleanConstructor : {
        type: import("vue").PropType<unknown extends Defaults["stacked"] ? boolean : boolean | Defaults["stacked"]>;
        default: unknown extends Defaults["stacked"] ? boolean : boolean | Defaults["stacked"];
    };
    block: unknown extends Defaults["block"] ? BooleanConstructor : {
        type: import("vue").PropType<unknown extends Defaults["block"] ? boolean : boolean | Defaults["block"]>;
        default: unknown extends Defaults["block"] ? boolean : boolean | Defaults["block"];
    };
    text: unknown extends Defaults["text"] ? (StringConstructor | NumberConstructor)[] : {
        type: import("vue").PropType<unknown extends Defaults["text"] ? string | number : NonNullable<string | number> | Defaults["text"]>;
        default: unknown extends Defaults["text"] ? string | number : NonNullable<string | number> | Defaults["text"];
    };
    ripple: unknown extends Defaults["ripple"] ? {
        type: BooleanConstructor;
        default: boolean;
    } : Omit<{
        type: BooleanConstructor;
        default: boolean;
    }, "type" | "default"> & {
        type: import("vue").PropType<unknown extends Defaults["ripple"] ? boolean : boolean | Defaults["ripple"]>;
        default: unknown extends Defaults["ripple"] ? boolean : boolean | Defaults["ripple"];
    };
    overlay: unknown extends Defaults["overlay"] ? {
        type: BooleanConstructor;
        default: boolean;
    } : Omit<{
        type: BooleanConstructor;
        default: boolean;
    }, "type" | "default"> & {
        type: import("vue").PropType<unknown extends Defaults["overlay"] ? boolean : boolean | Defaults["overlay"]>;
        default: unknown extends Defaults["overlay"] ? boolean : boolean | Defaults["overlay"];
    };
};
export declare const Button: import("vue").DefineComponent<{
    elevation: {
        type: (StringConstructor | NumberConstructor)[];
        validator(v: any): boolean;
    };
    shape: Omit<{
        type: import("vue").PropType<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
        default: string;
    }, "type" | "default"> & {
        type: import("vue").PropType<NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">>;
        default: NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
    };
    border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    density: {
        type: import("vue").PropType<"high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined>;
        default: string;
        validator: (v: any) => boolean;
    };
    size: {
        type: import("vue").PropType<import("../../composables/size").Size | undefined>;
        default: string;
    };
    height: (StringConstructor | NumberConstructor)[];
    maxHeight: (StringConstructor | NumberConstructor)[];
    maxWidth: (StringConstructor | NumberConstructor)[];
    minHeight: (StringConstructor | NumberConstructor)[];
    minWidth: (StringConstructor | NumberConstructor)[];
    width: (StringConstructor | NumberConstructor)[];
    absolute: BooleanConstructor;
    bottom: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    fixed: BooleanConstructor;
    left: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    position: {
        type: import("vue").PropType<"fixed" | "static" | "relative" | "absolute" | "sticky">;
        validator: (v: any) => boolean;
    };
    right: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    top: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    color: StringConstructor;
    textColor: StringConstructor;
    variant: Omit<{
        type: import("vue").PropType<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
        default: string;
        validator: (v: any) => boolean;
    }, "type" | "default"> & {
        type: import("vue").PropType<NonNullable<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">>;
        default: NonNullable<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
    };
    theme: StringConstructor;
    tag: Omit<{
        type: StringConstructor;
        default: string;
    }, "type" | "default"> & {
        type: import("vue").PropType<string>;
        default: string;
    };
    value: null;
    disabled: BooleanConstructor;
    selectedClass: StringConstructor;
    href: StringConstructor;
    replace: BooleanConstructor;
    to: import("vue").PropType<import("vue-router").RouteLocationRaw>;
    loading: BooleanConstructor;
    type: {
        type: StringConstructor;
        default: string;
    };
    icon: (StringConstructor | ObjectConstructor | BooleanConstructor)[];
    prependIcon: (StringConstructor | ObjectConstructor)[];
    appendIcon: (StringConstructor | ObjectConstructor)[];
    stacked: BooleanConstructor;
    block: BooleanConstructor;
    text: (StringConstructor | NumberConstructor)[];
    ripple: {
        type: BooleanConstructor;
        default: boolean;
    };
    overlay: {
        type: BooleanConstructor;
        default: boolean;
    };
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    click: (_event: MouseEvent) => true;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    elevation: {
        type: (StringConstructor | NumberConstructor)[];
        validator(v: any): boolean;
    };
    shape: Omit<{
        type: import("vue").PropType<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
        default: string;
    }, "type" | "default"> & {
        type: import("vue").PropType<NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">>;
        default: NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
    };
    border: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    density: {
        type: import("vue").PropType<"high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined>;
        default: string;
        validator: (v: any) => boolean;
    };
    size: {
        type: import("vue").PropType<import("../../composables/size").Size | undefined>;
        default: string;
    };
    height: (StringConstructor | NumberConstructor)[];
    maxHeight: (StringConstructor | NumberConstructor)[];
    maxWidth: (StringConstructor | NumberConstructor)[];
    minHeight: (StringConstructor | NumberConstructor)[];
    minWidth: (StringConstructor | NumberConstructor)[];
    width: (StringConstructor | NumberConstructor)[];
    absolute: BooleanConstructor;
    bottom: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    fixed: BooleanConstructor;
    left: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    position: {
        type: import("vue").PropType<"fixed" | "static" | "relative" | "absolute" | "sticky">;
        validator: (v: any) => boolean;
    };
    right: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    top: (StringConstructor | BooleanConstructor | NumberConstructor)[];
    color: StringConstructor;
    textColor: StringConstructor;
    variant: Omit<{
        type: import("vue").PropType<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
        default: string;
        validator: (v: any) => boolean;
    }, "type" | "default"> & {
        type: import("vue").PropType<NonNullable<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">>;
        default: NonNullable<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
    };
    theme: StringConstructor;
    tag: Omit<{
        type: StringConstructor;
        default: string;
    }, "type" | "default"> & {
        type: import("vue").PropType<string>;
        default: string;
    };
    value: null;
    disabled: BooleanConstructor;
    selectedClass: StringConstructor;
    href: StringConstructor;
    replace: BooleanConstructor;
    to: import("vue").PropType<import("vue-router").RouteLocationRaw>;
    loading: BooleanConstructor;
    type: {
        type: StringConstructor;
        default: string;
    };
    icon: (StringConstructor | ObjectConstructor | BooleanConstructor)[];
    prependIcon: (StringConstructor | ObjectConstructor)[];
    appendIcon: (StringConstructor | ObjectConstructor)[];
    stacked: BooleanConstructor;
    block: BooleanConstructor;
    text: (StringConstructor | NumberConstructor)[];
    ripple: {
        type: BooleanConstructor;
        default: boolean;
    };
    overlay: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & {
    onClick?: ((_event: MouseEvent) => any) | undefined;
}, {
    type: string;
    replace: boolean;
    fixed: boolean;
    loading: boolean;
    disabled: boolean;
    tag: string;
    variant: NonNullable<"contained" | "outlined" | "plain" | "text" | "contained-text" | "contained-outlined">;
    absolute: boolean;
    size: import("../../composables/size").Size | undefined;
    density: "high" | "low" | "medium" | "ultra-low" | "ultra-high" | undefined;
    shape: NonNullable<"circle" | "tile" | "rounded-sm" | "rounded" | "rounded-lg" | "pill">;
    overlay: boolean;
    block: boolean;
    ripple: boolean;
    stacked: boolean;
}>;
export type Button = InstanceType<typeof Button>;
