/** biome-ignore-all lint/a11y/noNoninteractiveTabindex: focus traps are required to keep users focus within the modal */ import { type EventEmitter } from "../../stencil-public-runtime"; type CloseEventTrigger = "CLOSE_BUTTON" | "ESCAPE_KEY" | "BACKDROP"; export interface BeforeCloseEventDetail { trigger: CloseEventTrigger; } export declare class IfxModal { hostElement: HTMLIfxModalElement; /** * Controls the visibility of the modal. Can be used for both declarative and programmatic control. */ opened?: boolean; /** * The title text displayed in the modal header. This should be a concise description of the modal's purpose. */ readonly caption: string; /** * Provides an accessible label for the modal caption, enhancing screen reader support. If not provided, the `caption` prop will be used as the accessible name. */ readonly captionAriaLabel: string | null; /** * Determines whether clicking on the overlay (backdrop) will close the modal. */ readonly closeOnOverlayClick: boolean; /** * Defines the visual style of the modal, indicating its purpose or importance. */ readonly variant: "default" | "alert-brand" | "alert-danger"; /** * Specifies the size of the modal, allowing it to adapt to different content needs and screen sizes. */ readonly size: "s" | "m" | "l"; /** * Allows the display of a specific icon in the modal header when the variant is set to an alert type. * Refer to the [Icon Library](https://infineon.github.io/infineon-design-system-stencil/storybook/?path=/docs/icon-library--development) for available icons. */ readonly alertIcon: string; /** * Controls the visibility of the close button in the modal header. */ readonly showCloseButton: boolean; /** * Provides an accessible label for the close button, enhancing screen reader support. If not provided, a default label of "Close modal" will be used. */ readonly closeButtonAriaLabel: string; /** * Emitted when the modal finishes opening and the opening animation completes. No additional data is provided with this event. */ ifxOpen: EventEmitter; /** * Emitted when the modal finishes closing and the closing animation completes. No additional data is provided with this event. */ ifxClose: EventEmitter; /** * Emitted immediately when the `opened` state changes (before animations). * The event detail contains `{ opened: boolean }` with the new state. * Use this event for two-way binding (v-model in Vue, [(ngModel)] in Angular). */ ifxOpenedChange: EventEmitter<{ opened: boolean; }>; showModal: boolean; slotButtonsPresent: boolean; private modalContainer; private focusableElements; private closeButton; private resizeTimeout; private handleResize; componentDidLoad(): Promise; disconnectedCallback(): void; componentWillRender(): void; private handleComponentOverflow; private getFirstFocusableElement; private getLastFocusableElement; private handleTopFocus; private handleBottomFocus; private attemptFocus; private open; private close; private handleKeypress; private doBeforeClose; openedChanged(newValue: boolean): void; /** * Public method to programmatically open the modal. */ openModal(): Promise; /** * Public method to programmatically close the modal. */ closeModal(): Promise; private handleOverlayClick; private handleContentUpdate; private handleButtonsSlotChange; private isModalContentContainerHeightReachedViewport; render(): any; } export {};