import type { ButtonHTMLAttributes, ExtractPropTypes, PropType, SlotsType, VNode, VNodeChild } from 'vue'; import type { BaseWaveRef } from '../../_internal'; import type { ExtractPublicPropTypes, MaybeArray } from '../../_utils'; import type { Size, Type } from './interface'; export declare const buttonProps: { readonly color: StringConstructor; readonly textColor: StringConstructor; readonly text: BooleanConstructor; readonly block: BooleanConstructor; readonly loading: BooleanConstructor; readonly disabled: BooleanConstructor; readonly circle: BooleanConstructor; readonly size: PropType; readonly ghost: BooleanConstructor; readonly round: BooleanConstructor; readonly secondary: BooleanConstructor; readonly tertiary: BooleanConstructor; readonly quaternary: BooleanConstructor; readonly strong: BooleanConstructor; readonly focusable: { readonly type: BooleanConstructor; readonly default: true; }; readonly keyboard: { readonly type: BooleanConstructor; readonly default: true; }; readonly tag: { readonly type: PropType; readonly default: "button"; }; readonly type: { readonly type: PropType; readonly default: "default"; }; readonly dashed: BooleanConstructor; readonly renderIcon: PropType<() => VNodeChild>; readonly iconPlacement: { readonly type: PropType<"left" | "right">; readonly default: "left"; }; readonly attrType: { readonly type: PropType<"button" | "submit" | "reset">; readonly default: "button"; }; readonly bordered: { readonly type: BooleanConstructor; readonly default: true; }; readonly onClick: PropType void>>; readonly nativeFocusBehavior: { readonly type: BooleanConstructor; readonly default: boolean; }; readonly theme: PropType>; readonly themeOverrides: PropType>>; readonly builtinThemeOverrides: PropType>>; }; export type ButtonProps = ExtractPublicPropTypes; export interface ButtonSlots { default?: () => VNode[]; icon?: () => VNode[]; } declare const Button: import("vue").DefineComponent; readonly ghost: BooleanConstructor; readonly round: BooleanConstructor; readonly secondary: BooleanConstructor; readonly tertiary: BooleanConstructor; readonly quaternary: BooleanConstructor; readonly strong: BooleanConstructor; readonly focusable: { readonly type: BooleanConstructor; readonly default: true; }; readonly keyboard: { readonly type: BooleanConstructor; readonly default: true; }; readonly tag: { readonly type: PropType; readonly default: "button"; }; readonly type: { readonly type: PropType; readonly default: "default"; }; readonly dashed: BooleanConstructor; readonly renderIcon: PropType<() => VNodeChild>; readonly iconPlacement: { readonly type: PropType<"left" | "right">; readonly default: "left"; }; readonly attrType: { readonly type: PropType<"button" | "submit" | "reset">; readonly default: "button"; }; readonly bordered: { readonly type: BooleanConstructor; readonly default: true; }; readonly onClick: PropType void>>; readonly nativeFocusBehavior: { readonly type: BooleanConstructor; readonly default: boolean; }; readonly theme: PropType>; readonly themeOverrides: PropType>>; readonly builtinThemeOverrides: PropType>>; }>, { selfElRef: import("vue").Ref; waveElRef: import("vue").Ref<{ play: () => void; } | null, BaseWaveRef | { play: () => void; } | null>; mergedClsPrefix: import("vue").Ref; mergedFocusable: import("vue").ComputedRef; mergedSize: import("vue").ComputedRef<"tiny" | "small" | "medium" | "large">; showBorder: import("vue").ComputedRef; enterPressed: import("vue").Ref; rtlEnabled: import("vue").Ref | undefined; handleMousedown: (e: MouseEvent) => void; handleKeydown: (e: KeyboardEvent) => void; handleBlur: () => void; handleKeyup: (e: KeyboardEvent) => void; handleClick: (e: MouseEvent) => void; customColorCssVars: import("vue").ComputedRef<{ '--n-border-color': string; '--n-border-color-hover': string; '--n-border-color-pressed': string; '--n-border-color-focus': string; '--n-border-color-disabled': string; } | null>; cssVars: import("vue").ComputedRef<{ '--n-width': string; '--n-height': string; '--n-font-size': string; '--n-padding': string; '--n-icon-size': string; '--n-icon-margin': string; '--n-border-radius': string; '--n-border': string; '--n-border-hover': string; '--n-border-pressed': string; '--n-border-focus': string; '--n-border-disabled': string; '--n-color': string; '--n-color-hover': string; '--n-color-pressed': string; '--n-color-focus': string; '--n-color-disabled': string; '--n-ripple-color': string; '--n-text-color': string; '--n-text-color-hover': string; '--n-text-color-pressed': string; '--n-text-color-focus': string; '--n-text-color-disabled': string; '--n-font-weight': string; '--n-bezier': string; '--n-bezier-ease-out': string; '--n-ripple-duration': string; '--n-opacity-disabled': string; '--n-wave-opacity': string; }> | undefined; themeClass: import("vue").Ref | undefined; onRender: (() => void) | undefined; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly; readonly ghost: BooleanConstructor; readonly round: BooleanConstructor; readonly secondary: BooleanConstructor; readonly tertiary: BooleanConstructor; readonly quaternary: BooleanConstructor; readonly strong: BooleanConstructor; readonly focusable: { readonly type: BooleanConstructor; readonly default: true; }; readonly keyboard: { readonly type: BooleanConstructor; readonly default: true; }; readonly tag: { readonly type: PropType; readonly default: "button"; }; readonly type: { readonly type: PropType; readonly default: "default"; }; readonly dashed: BooleanConstructor; readonly renderIcon: PropType<() => VNodeChild>; readonly iconPlacement: { readonly type: PropType<"left" | "right">; readonly default: "left"; }; readonly attrType: { readonly type: PropType<"button" | "submit" | "reset">; readonly default: "button"; }; readonly bordered: { readonly type: BooleanConstructor; readonly default: true; }; readonly onClick: PropType void>>; readonly nativeFocusBehavior: { readonly type: BooleanConstructor; readonly default: boolean; }; readonly theme: PropType>; readonly themeOverrides: PropType>>; readonly builtinThemeOverrides: PropType>>; }>> & Readonly<{}>, { readonly disabled: boolean; readonly type: Type; readonly bordered: boolean; readonly block: boolean; readonly loading: boolean; readonly circle: boolean; readonly round: boolean; readonly text: boolean; readonly strong: boolean; readonly tertiary: boolean; readonly ghost: boolean; readonly secondary: boolean; readonly quaternary: boolean; readonly focusable: boolean; readonly keyboard: boolean; readonly tag: keyof HTMLElementTagNameMap; readonly dashed: boolean; readonly iconPlacement: "left" | "right"; readonly attrType: "button" | "submit" | "reset"; readonly nativeFocusBehavior: boolean; }, SlotsType, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; type InternalButtonProps = ExtractPropTypes; type NativeButtonProps = Omit; type MergedProps = Partial; export default Button; export declare const XButton: new () => { $props: MergedProps; };