import { LitElement } from 'lit'; declare const Popout_base: (new (...args: any[]) => import("../common/mixins/FloatingComponentMixin.js").FloatingMixinInterface) & typeof LitElement; /** * Popouts are small overlays that open on demand. They let users access additional content and actions without cluttering the page. * * @status ready * @category overlay * @slot - The popout content. */ export default class Popout extends Popout_base { static styles: import("lit").CSSResult[]; private targetElement?; private anchorElement?; private cleanupAutoUpdate?; private popout; private scrollBar; /** * Handle dismissal of the popout, clicking outside the target button and popout. */ private dismiss; private events; private direction; private computedPosition?; private smallViewport; /** * The id for the active element to reference via aria-controls. */ id: string; /** * Set an optional anchor element to align against, replacing the triggering element. */ anchor?: string; /** * Set to true to always display the popout as a floating overlay, even on smaller viewports. */ alwaysFloating: boolean; /** * Show the popout. * A promise that resolves to a `TransitionEvent` when the popout's show animation ends or is cancelled. * If the popout is already open, the promise resolves immediately with `undefined`. */ show(): Promise; /** * Hide the popout. * Returns a promise that resolves to a `TransitionEvent` when the popout's hide animation ends or is cancelled. * If the popout is already closed, the promise resolves immediately with `undefined`. * @param {boolean} moveFocusToButton prevent focus returning to the target button. Default is true. */ hide(moveFocusToButton?: boolean): Promise; /** * Position the popout on load. */ firstUpdated(): void; connectedCallback(): void; disconnectedCallback(): void; render(): import("lit").TemplateResult<1>; protected handleIdChange(): void; private initializeElements; protected handleOpenChange(): void; protected handleAnchorChange(): void; private enableScroll; /** * Place the element in the top layer via the Popover API so that * position: fixed works relative to the viewport regardless of * container queries or other containing block ancestors. */ private enterTopLayer; private leaveTopLayer; /** * Get the position of the element toggling the popout * and position the popout underneath it, taking into account the optional placement. */ private updatePosition; /** * Toggle the popout open or closed using state. * Updating the position to underneath the target button before the popout is opened. */ private toggleOpen; private getToggle; private getAnchor; /** * Update the smallViewport flag to switch between "sheet" and "floating". * autoUpdate is needed when a viewport gets larger and the popout is open. */ private handleMediaQueryChange; } declare global { interface HTMLElementTagNameMap { 'nord-popout': Popout; } } export {};