import { PolyScene } from '../PolyScene';
import { BaseNodeType } from '../../nodes/_Base';
import { TypedPathParam } from '../../params/_BasePath';
import { BaseParamType } from '../../params/_Base';
type BasePathParam = TypedPathParam<any>;
export declare class ReferencesController {
    protected scene: PolyScene;
    private _referenced_nodes_by_src_param_id;
    private _referencing_params_by_referenced_node_id;
    private _referencing_params_by_all_named_node_ids;
    constructor(scene: PolyScene);
    setReferenceFromParam(src_param: BasePathParam, referencedGraphNode: BaseNodeType | BaseParamType): void;
    setNamedNodesFromParam(src_param: BasePathParam): void;
    resetReferenceFromParam(src_param: BasePathParam): void;
    referencing_params(node: BaseNodeType): BasePathParam[] | undefined;
    referencingNodes(node: BaseNodeType, target: BaseNodeType[]): BaseNodeType[];
    nodesReferencedBy(node: BaseNodeType, target: BaseNodeType[]): BaseNodeType[];
    private _check_param;
    notifyNameUpdated(node: BaseNodeType): void;
    notifyParamsUpdated(node: BaseNodeType): void;
}
export {};
