export declare type Pointer = string | string[];
export declare class JsonPointer {
    static get(object: any, pointer: Pointer, startSlice?: number, endSlice?: number, getBoolean?: boolean, errors?: boolean): any;
    static getFirst(items: any, defaultValue?: any): any;
    static set(object: any, pointer: Pointer, value: any, insert?: boolean): any;
    static setCopy(object: any, pointer: Pointer, value: any, insert?: boolean): any;
    static insert(object: any, pointer: Pointer, value: any): any;
    static insertCopy(object: any, pointer: Pointer, value: any): any;
    static remove(object: any, pointer: Pointer): any;
    static has(object: any, pointer: Pointer): boolean;
    static dict(object: any): any;
    static forEachDeep(object: any, fn: (v: any, p?: string, o?: any) => any, bottomUp?: boolean, pointer?: string, rootObject?: any): void;
    static forEachDeepCopy(object: any, fn: (v: any, p?: string, o?: any) => any, bottomUp?: boolean, pointer?: string, rootObject?: any): void;
    static escape(key: string): string;
    static unescape(key: string): string;
    static parse(pointer: Pointer): string[];
    static compile(keyArray: Pointer, defaultValue?: string | number): string;
    static toKey(pointer: Pointer): string;
    static isJsonPointer(value: any): boolean;
    static isSubPointer(shortPointer: Pointer, longPointer: Pointer): boolean;
    static toIndexedPointer(genericPointer: string, indexArray: number[], arrayMap?: Map<string, number>): string;
    static toGenericPointer(indexedPointer: string, arrayMap: Map<string, number>): string;
    static toControlPointer(formGroup: any, dataPointer: Pointer): string;
    static parseObjectPath(path: string | string[]): string[];
}
