import { BaseNodeClass, BaseNodeType } from '../_Base';
import { CoreGraphNode } from '../../../core/graph/CoreGraphNode';
type NameControllerCallback = () => void;
export declare class NameController {
    protected node: BaseNodeType;
    private _graphNode;
    private _onSetNameHooks;
    private _onSetFullPathHooks;
    constructor(node: BaseNodeType);
    dispose(): void;
    graphNode(): CoreGraphNode;
    static baseName(node: BaseNodeType | typeof BaseNodeClass): string;
    requestNameToParent(newName: string): void;
    setName(newName: string): void;
    updateNameFromParent(new_name: string): void;
    add_post_set_name_hook(hook: NameControllerCallback): void;
    add_post_set_fullPath_hook(hook: NameControllerCallback): void;
    private _postSetName;
    runPostSetFullPathHooks(): void;
}
export {};
