import type { default as ViewInstance } from '../../tableView'; /** * EmptyDataStateUI is a UI component that renders and manages empty data state elements. * * @private * @class EmptyDataStateUI */ export declare class EmptyDataStateUI { #private; /** * Initializes the empty data state UI with the grid container and document, then builds and inserts the DOM structure. */ constructor({ gridContainer, rootDocument, }: { gridContainer: HTMLElement; rootDocument: Document; }); /** * Creates the emptyDataState UI elements and sets up the structure. */ install(): void; /** * Gets the emptyDataState element. * * @returns {HTMLElement} The empty data state element. */ getElement(): HTMLElement | undefined; /** * Gets the focusable elements of the emptyDataState element. * * @returns {HTMLElement[]} The focusable elements. */ getFocusableElements(): HTMLElement[]; /** * Shows the emptyDataState element. */ show(): void; /** * Hides the emptyDataState element. */ hide(): void; /** * Updates the content of the emptyDataState element. * * @param {string | object} message - The message to update. * @param {boolean} isLoading - When `true`, shows a loading spinner. * @returns {void} */ updateContent(message: string | Record, isLoading?: boolean): void; /** * Updates the class names of the emptyDataState element. * * @param {View} view - The view instance. */ updateClassNames(view: ViewInstance): void; /** * Updates the size of the emptyDataState element. * * @param {View} view - The view instance. * @param {boolean} [isLoading] - When `true` and the grid has renderable columns, use the same * workspace sizing as when renderable rows exist (e.g. DataProvider fetch while a page is still shown). */ updateSize(view: ViewInstance, isLoading?: boolean): void; /** * Removes the emptyDataState UI elements from the DOM and clears the refs. */ destroy(): void; }