import type { LitElement, TemplateResult } from 'lit';
import type { Constructor } from './mixin-common';
type AdoptedNode = ChildNode;
interface SlotMapping {
    [name: string]: AdoptedNode[] | undefined;
}
export interface LightDOMWithSlots {
    slotContent: SlotMapping;
    renderDefaultSlotContent(defaultContent?: unknown): TemplateResult | unknown[];
}
/**
 * A mixin class that provides slot functionality for LitElement components
 * that render in the light DOM (no shadow DOM).
 *
 * Provides the `renderDefaultSlotContent()` method, which returns the default slot’s content or a fallback if the slot is empty.
 *
 * @example
 * ```typescript
 * class MyElement extends SlotsForNoShadowDOMMixin(LitElement) {
 *   render() {
 *     return html`
 *       <div class="header">${this.renderDefaultSlotContent()}</div>
 *     `;
 *   }
 * }
 * ```
 *
 * @implements {LightDOMWithSlots}
 */
export declare const SlotsForNoShadowDOMMixin: <T extends Constructor<LitElement>>(superClass: T) => T & Constructor<LightDOMWithSlots>;
export {};
