import { OverlayElement } from '../../Overlays/Abstracts/OverlayElement';
import type { IPortalProjectionElementProps } from './IPortalProjectionElementProps';
import { ISlottable } from '../../../Behaviors/Slottable';
import type { PortalElement } from './PortalElement';
declare const PortalProjectionElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Slottable").ISlottableProps & ISlottable) & typeof OverlayElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * The `{@link PortalProjectionElement}` element.
 *
 * @public
 */
export declare class PortalProjectionElement extends PortalProjectionElement_base implements IPortalProjectionElementProps, ISlottable {
    private _portal;
    /**
     * @public
     */
    constructor();
    /**
     * Returns the `{@link is}` property.
     * The `{@link is}` property represents natural name of this element.
     *
     * @public
     * @static
     * @readonly
     */
    static get is(): string;
    /**
     * Returns the portal assigned to this projection.
     *
     * @public
     * @readonly
     */
    get portal(): PortalElement;
    /**
     * @public
     * @override
     */
    connectedCallback(): void;
    /**
     * Assigns the portal to this projection.
     *
     * @public
     * @param portal The portal element to assign.
     */
    assign(portal: PortalElement): void;
}
/**
 * @public
 */
export declare namespace PortalProjectionElement {
    type Props = IPortalProjectionElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-portal-projection': PortalProjectionElement;
    }
}
export {};
//# sourceMappingURL=PortalProjectionElement.d.ts.map