import { ReactiveController, ReactiveControllerHost } from 'lit'; import { Logger } from '../logger'; import { Context } from './context'; import { ContextConsumerController } from './ContextConsumerController'; /** * Handles managing multiple context consumers on a given DOM element (`ref`). */ export declare abstract class ContextConsumerManager implements ReactiveController { protected readonly _host: ReactiveControllerHost; protected _ref?: Element; protected _logger: Logger; protected _hasHostConnected: boolean; protected readonly _consumers: Map, ContextConsumerController>; constructor(_host: ReactiveControllerHost); setRef(newRef?: Element): void; protected _handleRefChange(newRef?: Element): void; hostConnected(): void; hostDisconnected(): void; addContext(context: Context): ContextConsumerController; removeContext(context: Context): void; protected abstract _handleContextConnect(consumer: ContextConsumerController): any; protected abstract _handleContextUpdate(consumer: ContextConsumerController): any; protected abstract _handleContextDisconnect(consumer: ContextConsumerController): any; }