import { type ButtonHTMLAttributes, type InputHTMLAttributes, type VNode } from 'vue'; import type { ComponentProps } from 'vue-component-type-helpers'; import PfButton from '../Button.vue'; import type { RouteLocationRaw } from 'vue-router'; import { type OUIAProps } from '../../helpers/ouia'; import type { Placement } from '../../helpers/FloatingUi.vue'; interface Props extends OUIAProps, /* @vue-ignore */ ButtonHTMLAttributes { /** The color of the label outline/fill */ color?: 'blue' | 'teal' | 'green' | 'orange' | 'purple' | 'red' | 'orangered' | 'grey' | 'yellow'; /** Variant of the label. */ variant?: 'outline' | 'filled' | 'add'; /** Status of the label with a respective icon and color. Overrides the color set by the color property. */ status?: 'success' | 'warning' | 'danger' | 'info' | 'custom'; /** Position of the tooltip which is displayed if text is truncated */ tooltipPosition?: Placement; /** vue-router destination for a label that is a router-link. If present, the label will change to an anchor element. */ to?: RouteLocationRaw; /** Href for a label that is a link. If present, the label will change to an anchor element. This should not be passed in if the onClick prop is also passed in. */ href?: string; /** Flag for the outline variant, same as variant="outline". */ outline?: boolean; /** Flag indicating the label is compact. */ compact?: boolean; /** Flag indicating the label is disabled. Works only on clickable labels, so either href, to or onClick must be passed in. */ disabled?: boolean; /** Flag indicating if the label is an overflow label. */ overflow?: boolean; /** Flag indicating the label is editable. Click or press enter or space to start editing it. */ editable?: boolean; /** Additional attributes for the editable label button and text input, like aria-label. */ editableAttrs?: InputHTMLAttributes; /** The max width of the label before it is truncated. Can be any valid CSS unit, such as '100%', '100px', or '16ch'. */ textMaxWidth?: string; /** Aria label for close button. Defaults to "Close" followed by the label text. */ closeBtnAriaLabel?: string; /** Additional attributes for the default close button. */ closeBtnAttrs?: ComponentProps; /** Callback for when the close button is clicked. If present, the label will have a close button. */ onClose?: (e: Event) => void; /** Callback for when the label is clicked. This should not be passed in if the href or editable props are also passed in. */ onClick?: (e: PointerEvent) => void; } declare const _default: typeof __VLS_export; export default _default; declare const __VLS_export: __VLS_WithSlots any; editCancel: (event: KeyboardEvent, previousText: string) => any; }, string, import("vue").PublicProps, Readonly & Readonly<{ onEditComplete?: ((event: KeyboardEvent | MouseEvent, newText: string) => any) | undefined; onEditCancel?: ((event: KeyboardEvent, previousText: string) => any) | undefined; }>, { color: "red" | "orangered" | "orange" | "yellow" | "green" | "teal" | "blue" | "purple" | "grey"; variant: "add" | "filled" | "outline"; tooltipPosition: Placement; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, { default?: (props?: Record) => VNode[]; icon?: (props?: Record) => VNode[]; actions?: (props?: Record) => VNode[]; }>; type __VLS_WithSlots = T & { new (): { $slots: S; }; }; //# sourceMappingURL=Label.vue.d.ts.map