import { PropType, ButtonHTMLAttributes } from 'vue';
import type { ExtractPublicPropTypes, MaybeArray } from '../../_utils';
import type { Type, Size } from './interface';
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 iconPlacement: {
readonly type: PropType<"left" | "right">;
readonly default: "left";
};
readonly attrType: {
readonly type: PropType<"button" | "reset" | "submit">;
readonly default: "button";
};
readonly bordered: {
readonly type: BooleanConstructor;
readonly default: true;
};
readonly onClick: PropType void>>;
readonly internalAutoFocus: BooleanConstructor;
readonly theme: PropType>;
readonly themeOverrides: PropType>>;
readonly builtinThemeOverrides: PropType>>;
};
export declare type ButtonProps = ExtractPublicPropTypes;
declare const Button: import("vue").DefineComponent<{
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 iconPlacement: {
readonly type: PropType<"left" | "right">;
readonly default: "left";
};
readonly attrType: {
readonly type: PropType<"button" | "reset" | "submit">;
readonly default: "button";
};
readonly bordered: {
readonly type: BooleanConstructor;
readonly default: true;
};
readonly onClick: PropType void>>;
readonly internalAutoFocus: BooleanConstructor;
readonly theme: PropType>;
readonly themeOverrides: PropType>>;
readonly builtinThemeOverrides: PropType>>;
}, {
selfElRef: import("vue").Ref;
waveElRef: import("vue").Ref<{
play: () => void;
} | null>;
mergedClsPrefix: import("vue").ComputedRef;
mergedFocusable: import("vue").ComputedRef;
mergedSize: import("vue").ComputedRef<"small" | "medium" | "large" | "tiny">;
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;
'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;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, 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 iconPlacement: {
readonly type: PropType<"left" | "right">;
readonly default: "left";
};
readonly attrType: {
readonly type: PropType<"button" | "reset" | "submit">;
readonly default: "button";
};
readonly bordered: {
readonly type: BooleanConstructor;
readonly default: true;
};
readonly onClick: PropType void>>;
readonly internalAutoFocus: BooleanConstructor;
readonly theme: PropType>;
readonly themeOverrides: PropType>>;
readonly builtinThemeOverrides: PropType>>;
}>>, {
type: Type;
tag: keyof HTMLElementTagNameMap;
block: boolean;
round: boolean;
dashed: boolean;
text: boolean;
circle: boolean;
disabled: boolean;
focusable: boolean;
strong: boolean;
loading: boolean;
bordered: boolean;
tertiary: boolean;
keyboard: boolean;
ghost: boolean;
secondary: boolean;
quaternary: boolean;
iconPlacement: "left" | "right";
attrType: "button" | "reset" | "submit";
internalAutoFocus: boolean;
}>;
declare type NativeButtonProps = Omit;
declare type MergedProps = Partial;
export default Button;
export declare const XButton: new () => {
$props: MergedProps;
};