import { BaseParamType } from './_Base';
import { BaseNodeType } from '../nodes/_Base';
import { ParamType } from '../poly/ParamType';
import { DecomposedPath } from '../../core/DecomposedPath';
import { TypedStringParam } from './_BaseString';
export declare abstract class TypedPathParam<T extends ParamType.NODE_PATH | ParamType.PARAM_PATH> extends TypedStringParam<T> {
    readonly decomposedPath: DecomposedPath;
    dispose(): void;
    abstract notifyPathRebuildRequired(node: BaseNodeType | BaseParamType): void;
    abstract notifyTargetParamOwnerParamsUpdated(node: BaseNodeType | BaseParamType): void;
    protected abstract _findTarget(): void;
    protected _handleReferences(node: BaseNodeType | BaseParamType | null, path: string): void;
    protected processComputation(): Promise<void>;
    protected processRawInputWithoutExpression(): void;
    protected _setValuePathAndFindTarget(path: string, setDirty: boolean): void;
}
