/**
 * Tracks owner-bound cleanup callbacks for runtime resources.
 *
 * Why this exists:
 * reactive graph nodes and expression subscriptions can outlive their creating
 * call site unless they are disposed explicitly. The lifecycle registry gives
 * `ParamRuntime`/`GraphRuntime` a single owner-based teardown mechanism so
 * disposing a scope/view reliably detaches listeners and releases resources.
 */
export default class LifecycleRegistry {
    /**
     * @param {"view" | "mark" | "transform" | "source" | "scope"} kind
     * @param {string} key
     */
    createOwner(kind: "view" | "mark" | "transform" | "source" | "scope", key: string): string;
    /**
     * @param {string} ownerId
     * @param {() => void} disposer
     */
    addDisposer(ownerId: string, disposer: () => void): void;
    /**
     * @param {string} ownerId
     */
    disposeOwner(ownerId: string): void;
    #private;
}
//# sourceMappingURL=lifecycleRegistry.d.ts.map