import { ControllerBase, type ControllerHost } from '../../../Controllers/Abstracts/ControllerBase';
/**
 * Represents the `IProjectionControllerConfig` type.
 *
 * @public
 */
export interface IProjectionControllerConfig {
    /**
     * Optional name of the slot in the host. Default is unnamed slot.
     */
    slotName?: string;
    /**
     * CSS selector to find the projection target inside the portal.
     * This is where the projected content will be rendered.
     */
    targetSelector: string;
}
/**
 * A controller that observes content projected into a slot in the host,
 * removes the DOM nodes from the host, and transfers them into a render target
 * inside a portal component.
 *
 * @public
 */
export declare class ProjectionController extends ControllerBase {
    private readonly _slotController;
    private readonly _slotName;
    private readonly _targetSelector;
    private readonly _observer;
    constructor(host: ControllerHost, options: IProjectionControllerConfig);
    /**
     * @public
     * @override
     */
    hostFirstUpdated(): void;
    /**
     * @public
     * @override
     */
    hostDisconnected(): void;
    /**
     * @private
     */
    private projectContent;
}
//# sourceMappingURL=ProjectionController.d.ts.map