import type { XySemanticClassNames, XySemanticStyles } from "../core"; import type { XyIconName } from "../icon"; type XyButtonType = "default" | "primary" | "dashed" | "text" | "link" | "success" | "warning" | "danger"; type XyButtonVariant = "outlined" | "dashed" | "solid" | "filled" | "text" | "link"; type XyButtonPresetColor = "blue" | "purple" | "cyan" | "green" | "magenta" | "pink" | "red" | "orange" | "yellow" | "volcano" | "geekblue" | "lime" | "gold"; type XyButtonColor = "default" | "primary" | "danger" | "success" | "warning" | XyButtonPresetColor; type XyButtonShape = "default" | "circle" | "round"; type XyButtonSize = "sm" | "md" | "lg" | "small" | "middle" | "medium" | "large"; type XyButtonHtmlType = "button" | "submit" | "reset"; type XyButtonLoading = boolean | { delay?: number; icon?: XyIconName; }; type XyButtonSemanticDom = "root" | "icon" | "content"; interface XyButtonSemanticProps { block: boolean; color: XyButtonColor; danger: boolean; disabled: boolean; ghost: boolean; hasIcon: boolean; href: string; htmlType: XyButtonHtmlType; icon?: XyIconName; iconOnly: boolean; iconPlacement: "end" | "start"; loading: boolean; shape: XyButtonShape; size: "lg" | "md" | "sm"; target: string; type: XyButtonType; variant: XyButtonVariant; } type __VLS_Props = { type?: XyButtonType; variant?: XyButtonVariant; color?: XyButtonColor; shape?: XyButtonShape; size?: XyButtonSize; disabled?: boolean; danger?: boolean; ghost?: boolean; block?: boolean; loading?: XyButtonLoading; href?: string; target?: string; htmlType?: XyButtonHtmlType; icon?: XyIconName; iconPlacement?: "start" | "end"; iconPosition?: "start" | "end"; autoInsertSpace?: boolean; classNames?: XySemanticClassNames; styles?: XySemanticStyles; }; declare var __VLS_10: {}, __VLS_17: {}, __VLS_24: {}, __VLS_26: {}, __VLS_33: {}; type __VLS_Slots = {} & { loadingIcon?: (props: typeof __VLS_10) => any; } & { icon?: (props: typeof __VLS_17) => any; } & { default?: (props: typeof __VLS_24) => any; } & { loadingIcon?: (props: typeof __VLS_26) => any; } & { icon?: (props: typeof __VLS_33) => any; }; declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { click: (args_0: MouseEvent) => any; }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{ onClick?: ((args_0: MouseEvent) => any) | undefined; }>, { type: XyButtonType; size: XyButtonSize; block: boolean; disabled: boolean; target: string; href: string; danger: boolean; loading: XyButtonLoading; shape: XyButtonShape; ghost: boolean; htmlType: XyButtonHtmlType; autoInsertSpace: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>; declare const __VLS_export: __VLS_WithSlots; declare const _default: typeof __VLS_export; export default _default; type __VLS_WithSlots = T & { new (): { $slots: S; }; };