import { BaseNodeType } from '../engine/nodes/_Base';
import { BaseParamType } from '../engine/params/_Base';
type NodeOrParam = BaseNodeType | BaseParamType;
interface PathElement {
    path: string;
    node: NodeOrParam;
}
interface NamedNode {
    name: string;
    node: NodeOrParam;
}
export declare class DecomposedPath {
    private _index;
    private _pathElements;
    private _namedNodes;
    private _graphNodeIds;
    private _nodeElementByGraphNodeId;
    private _absolutePath;
    constructor();
    reset(): void;
    addNamedNode(namedNode: NamedNode): void;
    addPathElement(pathElement: PathElement): void;
    namedGraphNodes(): (NamedNode | null)[];
    namedNodes(target: BaseNodeType[]): BaseNodeType[];
    updateFromNameChange(node: NodeOrParam): void;
    toPath(): string;
    toAbsolutePath(): string;
}
export {};
