export type ParamRef<T> = {
    id: string;
    name: string;
    kind: "base" | "derived" | "selection";
    rank?: number;
    get: () => T;
    subscribe: (listener: () => void) => () => void;
};
export type WritableParamRef<T> = ParamRef<T> & {
    set: (value: T) => void;
};
export type ExprRefFunction = import("../utils/expression.js").ExpressionFunction & {
    subscribe: (listener: () => void) => () => void;
    invalidate: () => void;
    identifier: () => string;
};
//# sourceMappingURL=types.d.ts.map