import { ReactiveController, ReactiveControllerHost } from 'lit'; export declare class SbbSlottedChangeEvent extends Event { readonly slot: HTMLSlotElement; constructor(slot: HTMLSlotElement); } /** * This controller checks for slotted children. From these it updates * the ElementInternals states with the pattern `slotted-` or `slotted` * for the unnamed slot. * * This allows a :state(slotted-) CSS selector to display/hide/configure * a section of the component as required. * * @example * .example { * display: none; * * :host(:state(slotted-icon)) & { * display: inline; * } * } * * https://developer.mozilla.org/en-US/docs/Web/CSS/:state */ export declare class SbbSlotStateController implements ReactiveController { private _host; private _internals; private _textObserver; constructor(_host: ReactiveControllerHost & HTMLElement, _internals: ElementInternals); hostConnected: ReactiveController['hostConnected']; private _slotchangeHandler; private _handleSlotChange; private _updateSlottedState; private _observeTextNodesInSlot; private _hasSlottedContent; } declare global { interface HTMLElementEventMap { slottedchange: SbbSlottedChangeEvent; } interface ShadowRootEventMap { slottedchange: SbbSlottedChangeEvent; } } //# sourceMappingURL=slot-state-controller.d.ts.map