import type { RouteLocationRaw } from 'vue-router'; import type AvIcon from '../../../base/AvIcon/AvIcon.vue.js'; import type { Variant } from './AvButton.types.js'; import type { AvInteractiveProps } from '../../../../types/interfaces.types.js'; import type { Size } from '../../../../types/size.types.js'; import type { Theme } from '../../../../types/theme.types.js'; /** * AvButton component */ export interface AvButtonProps extends AvInteractiveProps { /** * Button variant: borderless (`DEFAULT`), with border (`OUTLINED`), or filled (`FLAT`). * @default 'DEFAULT' * @warning If `to` or `href` is defined, the button will always be `DEFAULT` variant. */ variant?: Variant; /** * Button theme: blue (`PRIMARY`) or gray (`SECONDARY`) or white (`TERTIARY`). * @default 'PRIMARY' */ theme?: Theme; /** * Display the button in the selected size. * @default 'MD' */ size?: Size; /** * Indicates button loading status. * @default false */ isLoading?: boolean; /** * Manually change icon size. * If not defined, the size is automatically calculated. */ iconScale?: number; /** * Removes radii from the button border. * @default false */ noRadius?: boolean; /** * Button text label. */ label: string; /** * Hide label text (`true`) or show it (`false`). * @default false */ iconOnly?: boolean; /** * Icon to be displayed in the button. Can be a name or an icon configuration (eg: `{"name": "mdi:stars"}`). */ icon?: string | InstanceType['$props']; /** * Disable sentence case transformation on the label. * You should only use this on very specific cases. * @default false */ noSentenceCase?: boolean; /** * Route location to navigate to when the button is clicked. */ to?: string | RouteLocationRaw; /** * External URL to navigate to when the button is clicked. * When provided, the button is rendered as an anchor (`a`). */ href?: string; } declare function focus(): void; declare const _default: import("vue").DefineComponent any; }, string, import("vue").PublicProps, Readonly & Readonly<{ onClick?: ((event: MouseEvent) => any) | undefined; }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>; export default _default;