import { type Component } from 'vue'; import type { StyleStatusLevel } from '../types/index.js'; import type { IconTextPairProps } from './IconTextPair.vue.js'; /** * Button component properties. * * A note about the `responsive` prop: * * When a boolean true or "shrink", causes the button text to be hidden at the small * breakpoint, leaving only the icon. The text is still made reader accessible * via the aria-label attribute. * * When "grow", causes the button to expand to the full width of its container, and * increase its font size when at the small breakpoint. */ export interface ButtonProps extends IconTextPairProps { is?: string | Component; severity?: StyleStatusLevel | 'unset'; bordered?: boolean; responsive?: boolean | 'grow' | 'shrink'; variant?: 'btn' | 'a'; size?: 'sm' | 'lg'; disabled?: boolean; loading?: boolean; tooltip?: string; disabledTooltip?: string; onClick?: ((evt: Event) => void | Promise) | ((evt: Event) => void | Promise)[]; type?: 'button' | 'submit' | 'reset' | null; } declare const _default: typeof __VLS_export; export default _default; declare const __VLS_export: __VLS_WithSlots any; }, string, import("vue").PublicProps, Readonly & Readonly<{ onClick?: ((evt: Event) => any) | undefined; }>, { type: "button" | "submit" | "reset" | null; disabled: boolean; size: "sm" | "lg"; loading: boolean; is: string | Component; severity: StyleStatusLevel | "unset"; bordered: boolean; responsive: boolean | "grow" | "shrink"; variant: "btn" | "a"; tooltip: string; disabledTooltip: string; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, { default?: (props: {}) => any; }>; type __VLS_WithSlots = T & { new (): { $slots: S; }; };