/** * Split a variable reference into parts. This forms a path that * will be used to resolve against a context. Digit components of * the path are converted to numbers. */ export declare const splitVariable: (name: string) => (string | number)[]; /** * Return true if the string starts with a value JSON character or value. */ export declare const isJsonStart: (s: string | number) => boolean; /** * Deep compare of two objects for equality. * * Note: this is not general-purpose. It is intended to deeply-compare * valid JSON types. For example it cannot determine equality of Date objects. */ export declare const deepEquals: (o1: any, o2: any) => boolean; /** * Returns an integer indicating: * * -N left < right * 0 left == right * +N left > right */ export declare const stringCompare: (s1: string, s2: string) => number; /** * Repeat a string N times. */ export declare const repeat: (n: number, str: string) => string; /** * Merge object deeply nested properties. */ export declare const deepMerge: (dst: any, ...sources: any[]) => any; /** * Create a deep copy of value, object or array. */ export declare const deepCopy: (obj: any) => any; /** * For each character in the mapping, replace it in the output. */ export declare const replaceMappedChars: (str: string, mapping: { [c: string]: string; }) => string;