import type { Component, HTMLAttributes, VNode } from 'vue'; import { type OUIAProps } from '../../helpers/ouia'; import { type ModalTitleIconVariant } from './common'; interface Props extends OUIAProps, /* @vue-ignore */ Omit { /** Flag to show the modal */ open?: boolean; /** Flag to remove the close button in the header area of the modal */ noClose?: boolean; /** Flag indicating if loose modal content should not be placed in a modal body wrapper */ noBodyWrapper?: boolean; /** Flag to disable focus trap */ disableFocusTrap?: boolean; /** The element to focus when the modal opens. By default the first * focusable element will receive focus. */ elementToFocus?: HTMLElement | SVGElement | string; /** Id of the focus trap, to append menus to it so that they break out of the modal box */ focusTrapId?: string; /** Additional classes added to the modal backdrop */ backdropClass?: HTMLAttributes['class']; /** Simple text content of the Modal Header, also used for aria-label on the body */ title?: string; /** Optional title label text for screen readers */ titleLabel?: string; /** Optional alert icon (or other) to show before the title of the Modal Header * When the predefined alert types are used the default styling * will be automatically applied */ titleIconVariant?: ModalTitleIconVariant; /** The parent container to append the modal to. Defaults to document.body */ appendTo?: HTMLElement | string | (() => HTMLElement); /** Id of Modal Box description */ ariaDescribedby?: string; /** Variant of the modal */ variant?: 'default' | 'small' | 'medium' | 'large'; /** Default width of the modal. */ width?: number | string; /** Maximum width of the modal. */ maxWidth?: number | string; /** Alternate position of the modal */ position?: 'default' | 'top'; /** Offset from alternate position. Can be any valid CSS length/percentage */ positionOffset?: string; /** Id of the ModalBoxBody */ descriptorId?: string; component?: string | Component; /** Flag to disable animations. */ noAnimations?: boolean; /** Called when Escape is pressed while the modal is open, in place of closing it */ onEscapePress?: (event: KeyboardEvent) => void; } declare const _default: typeof __VLS_export; export default _default; declare const __VLS_export: __VLS_WithSlots any; }, string, import("vue").PublicProps, Readonly & Readonly<{ "onUpdate:open"?: ((value: boolean) => any) | undefined; }>, { component: string | Component; variant: "default" | "small" | "large" | "medium"; ouiaSafe: boolean; position: "default" | "top"; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, { /** Content of the modal: wrapped in a modal body unless it is made of pf-modal-header, pf-modal-body and pf-modal-footer */ default?: (props?: Record) => VNode[]; /** Custom content of the modal header, replacing the title and the description */ header?: (props?: Record) => VNode[]; /** Content of the modal footer */ footer?: (props?: Record) => VNode[]; /** Help section of the modal header */ help?: (props?: Record) => VNode[]; /** Description of the modal, in the header */ description?: (props?: Record) => VNode[]; /** Custom icon shown before the title */ 'title-icon'?: (props?: Record) => VNode[]; }>; type __VLS_WithSlots = T & { new (): { $slots: S; }; }; //# sourceMappingURL=Modal.vue.d.ts.map