import { TemplateResult } from 'lit'; import { FloatingStrategy, PopupPlacement } from '../../common/types'; import { DdsElement } from '../../internal/dds-hu-element'; declare const PopupBaseElement_base: typeof DdsElement & { new (...args: any[]): import('../../internal/mixin/sizedMixin').SizedElementInterface; prototype: import('../../internal/mixin/sizedMixin').SizedElementInterface; }; export default class PopupBaseElement extends PopupBaseElement_base { static readonly styles: import('lit').CSSResult; protected triggerElement: Element | null; private cleanup; private intersectionObserver; protected readonly popup: HTMLDivElement; private readonly arrowElement?; /** The disabled state of the popup. */ disabled?: boolean | undefined; /** The open state of the popup. */ opened?: boolean | undefined; /** The placement of the popup. * @type {'top' | 'right' | 'bottom' | 'left' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end'} */ placement: PopupPlacement; /** The floating strategy of the popup. * @type {'absolute' | 'fixed'} */ floatingStrategy: FloatingStrategy; /** The offset of the popup. */ offset: number; /** Whether the popup should sync its width with the trigger. */ sync?: boolean; /** The maximum height of the popup. */ maxHeight: number | 'auto'; /** The maximum width of the popup. */ maxWidth: number | 'auto'; /** Whether the popup has an arrow. */ hasArrow: boolean; /** Whether the popup should overflow. */ overflow: boolean; /** Whether the popup should take full width of the screen. */ fullWidth: boolean; /** Whether to keep popup open when trigger leaves viewport. */ disableViewportAutoClose: boolean; connectedCallback(): Promise; protected firstUpdated(changedProps: Map): void; updated(changedProps: Map): Promise; _handleTriggerSlotChange(e?: Event | undefined): Promise; _handleTriggerSlotChangeCallback(_e?: Event): void; _handleContentSlotChange(_e: Event): void; startUpdate(): void; stopUpdate(): Promise; disconnectedCallback(): void; protected updatePosition(): Promise; renderTrigger(): TemplateResult; renderPopup(): TemplateResult; } export {};