import { TypedPathParam } from './_BasePath';
import { BaseNodeType } from '../nodes/_Base';
import { ParamType } from '../poly/ParamType';
import { ParamValuesTypeMap } from './types/ParamValuesTypeMap';
import { ParamInitValuesTypeMap } from './types/ParamInitValuesTypeMap';
interface SetNodeOptions {
    relative: boolean;
}
export declare class NodePathParam extends TypedPathParam<ParamType.NODE_PATH> {
    static type(): ParamType;
    protected _initializeParam(): void;
    defaultValueSerialized(): string;
    rawInputSerialized(): string;
    valueSerialized(): string;
    protected _copyValue(param: NodePathParam): void;
    static areRawInputEqual(raw_input1: ParamInitValuesTypeMap[ParamType.NODE_PATH], raw_input2: ParamInitValuesTypeMap[ParamType.NODE_PATH]): boolean;
    static areValuesEqual(val1: ParamValuesTypeMap[ParamType.NODE_PATH], val2: ParamValuesTypeMap[ParamType.NODE_PATH]): boolean;
    isDefault(): boolean;
    setNode(node: BaseNodeType, options?: SetNodeOptions): void;
    protected _assignValue(value: ParamValuesTypeMap[ParamType.NODE_PATH] | string): void;
    convert(rawVal: any): ParamValuesTypeMap[ParamType.NODE_PATH] | null;
    protected _findTarget(): void;
    private _assignFoundNode;
    private _expectedContext;
    private _isNodeExpectedContext;
    private _expectedNodeTypes;
    private _isNodeExpectedType;
    notifyPathRebuildRequired(node: BaseNodeType): void;
    notifyTargetParamOwnerParamsUpdated(node: BaseNodeType): void;
}
export {};
