import type { ContentElement } from './content-element'; import { BaseLayout } from './base-layout'; /** * Overlay layout configuration for modal window */ export interface OverlayLayoutConfig { /** HTML template for spinner */ spinner?: string; /** CSS class added to element */ className?: string; /** Duration of opacity animation in ms, default 200 */ animationDuration?: number; /** Add hidden layout to DOM */ hidden?: boolean; } /** * Layout for modal window * * @event destroy Destroy layout */ export declare class OverlayLayout extends BaseLayout { private spinner; private contentId; private loaderId; private contentElement; private loaderElement; private moveBehindTimeout?; private destroyed; /** * Create a new layout * * @param config Layout configuration */ constructor(config?: OverlayLayoutConfig); /** * Show current layout */ addToDOM(): void; /** * Show loader */ showLoading(): void; /** * Hide loader */ hideLoading(): void; /** * Move layout behind */ moveBehind: () => void; /** * Move layout to front */ moveFront: () => void; /** * Hide layout */ hide(): void; /** * Show layout */ show(): void; /** * Toggle loader visibility * @param show Flag to show/hide loader */ toggleLoading(show: boolean): void; /** * Set content in layout * @param content Layout content */ setContent(content: ContentElement): void; /** * Remove element from DOM */ destroy: () => void; }