import { Context } from './context'; import { ContextConsumerController } from './ContextConsumerController'; import { ContextConsumerManager } from './ContextConsumerManager'; /** * An abstract class for binding something to a context. For example, you might bind * attributes, CSS properties or any number of things in the DOM to a context value. */ export declare abstract class ContextBindingController extends ContextConsumerManager { protected _bindings: Map, Binding>; bind(context: Context, binding: Binding): this; /** * Removes a context binding. */ unbind(context: Context): this; protected _handleContextConnect(consumer: ContextConsumerController): void; protected abstract _handleBindToContext(consumer: ContextConsumerController, binding: Binding): any; protected _handleContextUpdate(consumer: ContextConsumerController): void; protected abstract _handleBindingUpdate(consumer: ContextConsumerController, binding: Binding): any; protected _handleContextDisconnect(consumer: ContextConsumerController): void; protected abstract _handleUnbindFromContext(consumer: ContextConsumerController, binding: Binding): any; }