import type { RouteLocationRaw } from 'vue-router'; import { type OUIAProps } from '../helpers/ouia'; import { type Component, type VNode, type AnchorHTMLAttributes, type ButtonHTMLAttributes, type ComponentPublicInstance } from 'vue'; interface Props extends OUIAProps, Omit, Omit { /** Sets the base component to render. defaults to button */ component?: string | Component; /** Adds clicked styling to button. */ clicked?: boolean; /** Adds block styling to button */ block?: boolean; /** Adds disabled styling and disables the button using the disabled html attribute */ disabled?: boolean; /** Adds disabled styling and communicates that the button is disabled using the aria-disabled html attribute */ ariaDisabled?: boolean; /** Adds progress styling to button and shows a spinner while true. The button stays clickable. */ loading?: boolean; /** Text describing that current loading status or progress */ spinnerAriaValueText?: string; /** Accessible label for the spinner to describe what is loading */ spinnerAriaLabel?: string; /** Id of element which describes what is being loaded */ spinnerAriaLabelledBy?: string; /** Events to prevent when the button is in an aria-disabled state. Defaults to click and keypress */ inoperableEvents?: string[]; /** Adds inline styling to a link button */ inline?: boolean; /** Adds favorite styling to a button */ favorite?: boolean; /** Flag indicating whether the button is favorited or not, only when favorite is true. */ favorited?: boolean; /** Sets button type */ type?: 'button' | 'submit' | 'reset'; /** Adds button variant styles */ variant?: 'primary' | 'secondary' | 'tertiary' | 'danger' | 'warning' | 'link' | 'plain' | 'control' | 'stateful'; /** Sets state of the stateful button variant. Default is "unread" */ state?: 'read' | 'unread' | 'attention'; /** Applies no padding on a plain button variant. Use when plain button is placed inline with text */ noPadding?: boolean; /** Sets position of the link icon */ iconPosition?: 'start' | 'end'; /** Sets the button tabindex. */ tabindex?: number; /** Adds small styling to the button */ small?: boolean; /** Adds large styling to the button */ large?: boolean; /** Adds danger styling to secondary or link button variants */ danger?: boolean; /** Class name for the badge container */ badgeClass?: string; /** Flag indicating whether content the button controls is expanded or not. Required when hamburger is true. Applies additional expanded styling when docked is true. */ expanded?: boolean; /** Flag indicating the button is a settings button. This will override the icon property. */ settings?: boolean; /** Flag indicating the button is a hamburger button. This will override the icon property. */ hamburger?: boolean; /** Adjusts and animates the hamburger icon to indicate what will happen upon clicking the button. */ hamburgerVariant?: 'expand' | 'collapse'; /** Flag indicating the button is a circle button. Intended for buttons that only contain an icon.. */ circle?: boolean; /** Flag indicating the button is a docked variant button. For use in docked navigation. */ docked?: boolean; /** Route Location the link should navigate to when clicked on. */ to?: RouteLocationRaw; /** Calls `router.replace` instead of `router.push`. */ replace?: boolean; href?: string; ariaCurrent?: string; } type __VLS_Slots = { /** Content rendered inside the button */ default?: (props?: Record) => VNode[]; /** Icon of the button, overridden by settings, hamburger and favorite */ icon?: (props?: Record) => VNode[]; /** Count rendered after the content: use a pf-badge */ badge?: (props?: Record) => VNode[]; }; declare const __VLS_base: import("vue").DefineComponent>; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & { click: (e: PointerEvent) => any; }, string, import("vue").PublicProps, Readonly & Readonly<{ onClick?: ((e: PointerEvent) => any) | undefined; }>, { type: "button" | "reset" | "submit"; expanded: boolean; component: string | Component; variant: "warning" | "link" | "danger" | "primary" | "secondary" | "tertiary" | "plain" | "control" | "stateful"; ouiaSafe: boolean; loading: boolean; iconPosition: "end" | "start"; }, {}, {}, {}, 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; }; }; //# sourceMappingURL=Button.vue.d.ts.map