/** * Represents the compiled template object returned by template factory functions. */ export interface DialogTemplateResult { TEMPLATE_NAME: string; dialogA11YOptions(): Record; compile(): { fragment: DocumentFragment; refs: Record; }; focusableElements(): HTMLElement[]; } /** * DialogUI is a UI component that renders and manages dialog elements. * It handles dialog creation, content updates, visibility toggling, and styling. * * @private * @class DialogUI */ export declare class DialogUI { #private; /** * Initializes the dialog UI with an overlay container, RTL layout flag, and an optional HTML sanitizer, then installs the DOM structure. */ constructor({ overlayContainer, isRtl, sanitizer }: { overlayContainer: HTMLElement; isRtl: boolean; sanitizer?: (html: string) => string | undefined; }); /** * Uses the specified template for the dialog. * * @param {string} templateName The name of the template to use. * @param {object} templateVars The variables to use for the template. */ useTemplate(templateName: string, templateVars?: Record): void; /** * Uses the default template for the dialog for the `content` option. */ useDefaultTemplate(): void; /** * Creates the dialog UI elements and sets up the structure. */ install(): void; /** * Returns the dialog element. * * @returns {HTMLElement} The dialog element. */ getContainer(): HTMLElement; /** * Gets the focusable elements. * * @returns {HTMLElement[]} The focusable elements. */ getFocusableElements(): HTMLElement[]; /** * Updates the dialog content and class name. * * @param {object} options - Class name update options. * @param {boolean} options.isVisible - Whether the dialog is visible. * @param {string|HTMLElement} options.content - The content to render in the dialog. * @param {string} options.customClassName - The custom class name to add to the dialog. * @param {string} options.background - The background to add to the dialog. * @param {boolean} options.contentBackground - Whether to show content background. * @param {boolean} options.animation - Whether to add the animation class to the dialog. * @param {object} options.a11y - The accessibility options for the dialog. * * @returns {DialogUI} The instance of the DialogUI. */ updateDialog({ isVisible, content, customClassName, background, contentBackground, animation, a11y }: Record): this; /** * Shows the dialog with optional animation. * * @param {boolean} animation - Whether to add the animation class to the dialog. * @returns {DialogUI} The instance of the DialogUI. */ showDialog(animation: boolean): this; /** * Hides the dialog with optional animation. * * @param {boolean} animation - Whether to add the animation class to the dialog. * @returns {DialogUI} The instance of the DialogUI. */ hideDialog(animation: boolean): this; /** * Focuses the dialog element. */ focusDialog(): void; /** * Updates the width of the dialog container to the same size as the table. * * @param {number} width - The width of the table. * @returns {DialogUI} The instance of the DialogUI. */ updateWidth(width: number): this; /** * Removes the dialog UI elements from the DOM and clears the refs. */ destroyDialog(): void; }