import type { ExtractPropTypes, PropType } from 'vue'; import type { ButtonGroupState } from '../../types/group'; import { Side } from '../../constants'; export declare const VvButtonEvents: string[]; export declare const VvButtonProps: { /** * Button icon position */ iconPosition: { type: PropType<`${Side}`>; default: Side; validator: (value: Side) => boolean; }; /** * Loading icon */ loadingIcon: { type: StringConstructor; default: string; }; /** * Enable button toggle */ toggle: { type: BooleanConstructor; default: boolean; }; /** * Button toggle value */ value: { type: (NumberConstructor | BooleanConstructor | StringConstructor)[]; default: undefined; }; /** * Value associated with the unchecked state */ uncheckedValue: { type: (NumberConstructor | BooleanConstructor | StringConstructor)[]; default: undefined; }; /** * Button toggle model value */ modelValue: { type: (NumberConstructor | BooleanConstructor | StringConstructor)[]; default: undefined; }; icon: { type: PropType; default: undefined; }; loading: { type: BooleanConstructor; default: boolean; }; loadingLabel: { type: StringConstructor; default: string; }; unselectable: { type: BooleanConstructor; default: boolean; }; modifiers: { type: PropType; default: undefined; }; id: (NumberConstructor | StringConstructor)[]; type: { type: PropType<`${import("../../constants").ButtonType}`>; default: import("../../constants").ButtonType; validator: (value: import("../../constants").ButtonType) => boolean; }; ariaLabel: { type: StringConstructor; default: undefined; }; defaultTag: { type: StringConstructor; default: import("../../constants").ActionTag; }; to: { type: (ObjectConstructor | StringConstructor)[]; }; href: StringConstructor; target: StringConstructor; rel: { type: StringConstructor; default: string; }; current: { type: BooleanConstructor; default: boolean; }; active: { type: BooleanConstructor; default: boolean; }; pressed: { type: BooleanConstructor; default: boolean; }; label: { type: (NumberConstructor | StringConstructor)[]; default: undefined; }; disabled: { type: BooleanConstructor; default: boolean; }; }; export type VvButtonPropsTypes = ExtractPropTypes; /** * Merges local and group props */ export declare function useGroupProps(props: VvButtonPropsTypes, emit: (event: (typeof VvButtonEvents)[number], value: unknown) => void): { group: ButtonGroupState | undefined; isInGroup: globalThis.ComputedRef; modelValue: globalThis.Ref; toggle: globalThis.Ref; unselectable: globalThis.Ref; multiple: globalThis.ComputedRef; modifiers: globalThis.ComputedRef; disabled: globalThis.ComputedRef; id: globalThis.Ref | undefined; pressed: globalThis.Ref; iconPosition: globalThis.Ref<"top" | "right" | "bottom" | "left", "top" | "right" | "bottom" | "left">; icon: globalThis.Ref | undefined; label: globalThis.Ref | undefined; };