import { type Constructable } from '@aurelia/kernel'; import type { IConnectable, ISubscribable, ISubscriber, ICollectionSubscriber, ICollectionSubscribable } from './interfaces'; import type { IObserverLocator } from './observer-locator'; export interface IObserverLocatorBasedConnectable extends IConnectable, ISubscriber, ICollectionSubscriber { oL: IObserverLocator; /** * A record storing observers that are currently subscribed to by this binding */ obs: IObserverRecord; } export interface IObserverRecord { version: number; count: number; add(observer: ISubscribable | ICollectionSubscribable): void; clear(): void; clearAll(): void; } export type DecoratedConnectable> = Constructable; declare const connectableDecorator: , C extends Constructable>(target: C, context: ClassDecoratorContext) => DecoratedConnectable; export declare function connectable(): typeof connectableDecorator; export declare function connectable, C extends Constructable>(target: C, context: ClassDecoratorContext): DecoratedConnectable; export {}; //# sourceMappingURL=connectable.d.ts.map