import { LitElement } from 'lit';
/**
* @element ui-portal
* @description Renders content in a different part of the DOM (typically document.body)
* Useful for modals, tooltips, and dropdowns that need to escape parent overflow/z-index
*
* @slot - Content to be portaled
*
* @fires portal-mounted - Fired when content is mounted to the target
* @fires portal-unmounted - Fired when content is unmounted from the target
*
* @example
* ```html
*
* Modal content
*
* ```
*/
export declare class UIPortal extends LitElement {
static styles: import("lit").CSSResult;
/**
* Target element selector or element to portal to
* @type {string | HTMLElement}
*/
target: string | HTMLElement;
/**
* Whether the portal is active
*/
active: boolean;
private _portalContainer;
private _targetElement;
connectedCallback(): void;
disconnectedCallback(): void;
updated(changedProperties: Map): void;
private _mountPortal;
private _unmountPortal;
render(): import("lit-html").TemplateResult<1>;
private _handleSlotChange;
}
declare global {
interface HTMLElementTagNameMap {
'ui-portal': UIPortal;
}
}
//# sourceMappingURL=portal.d.ts.map