Button: DefineComponent<
    ExtractPropTypes<
        {
            block: { default: boolean; type: BooleanConstructor };
            icon: { default: boolean; type: BooleanConstructor };
            intent: {
                default: undefined;
                type: PropType<
                    "neutral"
                    | "primary"
                    | "danger"
                    | "success"
                    | "warning"
                    | "info",
                >;
            };
            loading: { default: boolean; type: BooleanConstructor };
            size: { default: undefined; type: PropType<"sm" | "md" | "lg"> };
            variant: {
                default: undefined;
                type: PropType<"link" | "solid" | "soft" | "outline" | "ghost">;
            };
        },
    >,
    () => VNode<RendererNode, RendererElement, { [key: string]: any }>,
    {},
    {},
    {},
    ComponentOptionsMixin,
    ComponentOptionsMixin,
    {},
    string,
    PublicProps,
    ToResolvedProps<
        ExtractPropTypes<
            {
                block: { default: boolean; type: BooleanConstructor };
                icon: { default: boolean; type: BooleanConstructor };
                intent: {
                    default: undefined;
                    type: PropType<
                        "neutral"
                        | "primary"
                        | "danger"
                        | "success"
                        | "warning"
                        | "info",
                    >;
                };
                loading: { default: boolean; type: BooleanConstructor };
                size: { default: undefined; type: PropType<"sm" | "md" | "lg"> };
                variant: {
                    default: undefined;
                    type: PropType<"link" | "solid" | "soft" | "outline" | "ghost">;
                };
            },
        >,
        {},
    >,
    {
        block: boolean;
        icon: boolean;
        intent: "neutral"
        | "primary"
        | "danger"
        | "success"
        | "warning"
        | "info";
        loading: boolean;
        size: "sm" | "md" | "lg";
        variant: "link" | "solid" | "soft" | "outline" | "ghost";
    },
    {},
    {},
    {},
    string,
    ComponentProvideOptions,
    true,
    {},
    any,
> = ...

Button primitive: hl-button with intent/variant/size modifiers.