@convo-lang/convo-lang
Version:
The language of AI
21 lines (20 loc) • 723 B
TypeScript
import { ObjWatchEvt } from "@iyio/common";
export interface ObjectBindingOptions<T extends Record<string, any>> {
obj: T;
}
export declare abstract class ObjectBinding<T extends Record<string, any>> {
readonly obj: T;
private readonly disposeListener;
constructor({ obj, }: ObjectBindingOptions<T>);
private _isDisposed;
get isDisposed(): boolean;
dispose(): void;
protected _dispose(): void;
abstract sync(evt: ObjWatchEvt<T>): void;
}
export declare class FnObjectBinding<T extends Record<string, any>> extends ObjectBinding<T> {
private readonly _sync;
constructor(obj: T, sync: (evt: ObjWatchEvt<T>) => void);
private deferredEvt;
sync(evt: ObjWatchEvt<T>): void;
}