import { Id } from './id'; export declare const COMPONENT_PATH_SEPARATOR = "."; export declare const PATH_ARRAY_ID_MARKER = "@"; export declare class ComponentPath { componentId: Id | undefined; readonly path: ReadonlyArray; readonly depth: number; constructor(path: string | string[]); static new(path: string | string[]): ComponentPath | undefined; /** * Builds a new ComponentPath from the current one, incrementing the last path element by the given increment. * @param path the current path * @param increment the next increment, e.g. '1', '2', etc. */ increment(increment: string): ComponentPath; /** * @returns A new ComponentPath representing the parent path, or undefined if there is no parent (already at root). */ up(): ComponentPath | undefined; toString(includeId?: boolean): string; /** * Path in format c:id.parameters.(PARAMETER_KEY). ... is invalid for the JSON tokenizer. * This converts the path to c:id.parameters.[PARAMETER_INDEX]. ... * If the path does not contain this, it is returned as is (the same object). * If the path does contain this, a new object is returned. * @param parameters the array of parameters to find the index in */ changeParameterKeyToIndex(parameters: any[]): ComponentPath; }