import type { Observable } from "@knyt/artisan"; import type { ReactiveControllerHost } from "./ReactiveController.ts"; /** * @internal scope: workspace */ export type TrackingCurriedFn = >(observable: T) => T; /** * Subscribes a host to an observable, requesting a host update on new values, keeps a strong reference * to the observable. */ export declare function track>(host: ReactiveControllerHost, observable: T): T; export declare function track(host: ReactiveControllerHost): TrackingCurriedFn; /** * Unsubscribes a host from an observable, stopping host updates from * being requested on new values, and removes the strong reference * to the observable. * * @remarks * * When called, if the observable is not strongly referenced by any other * part of the code, it may be garbage collected. */ export declare function untrack>(host: ReactiveControllerHost, observable: T): T; export declare function untrack(host: ReactiveControllerHost): TrackingCurriedFn; //# sourceMappingURL=tracking.d.ts.map