import { ObjectContent, CoreObjectType } from './ObjectContent';
export declare const ROOT_NAME = "/";
export type CorePathObjCallback<T extends CoreObjectType> = (obj: ObjectContent<T>) => void;
export declare function findObjectByMask<T extends CoreObjectType>(mask: string, parent: ObjectContent<T>): ObjectContent<T> | undefined;
export declare function findObjectByMaskInObject<T extends CoreObjectType>(mask: string, object: ObjectContent<T>, objectPath?: string): ObjectContent<T> | undefined;
export declare function objectsByMask<T extends CoreObjectType>(mask: string, parent: ObjectContent<T>, invertMask?: boolean): ObjectContent<T>[];
export declare function objectsByMaskInObject<T extends CoreObjectType>(mask: string, object: ObjectContent<T>, list?: ObjectContent<T>[], objectPath?: string): ObjectContent<T>[];
export declare function traverseObjectsWithMask<T extends CoreObjectType>(mask: string, callback: CorePathObjCallback<T>, object: ObjectContent<T>, invertMask?: boolean): void;
export declare function traverseObjectsWithMaskInObject<T extends CoreObjectType>(mask: string, object: ObjectContent<T>, callback: CorePathObjCallback<T>, invertMask: boolean, objectPath?: string): void;
export declare function sanitizeObjectPath(path: string): string;
export declare function objectPath<T extends CoreObjectType>(object: ObjectContent<T>, topParent?: ObjectContent<T>): string;
export declare class CorePath {
    static findObjectByMask: typeof findObjectByMask;
    static findObjectByMaskInObject: typeof findObjectByMaskInObject;
    static objectsByMask: typeof objectsByMask;
    static objectsByMaskInObject: typeof objectsByMaskInObject;
    static traverseObjectsWithMask: typeof traverseObjectsWithMask;
    static traverseObjectsWithMaskInObject: typeof traverseObjectsWithMaskInObject;
    static objectPath: typeof objectPath;
    static sanitizePath: typeof sanitizeObjectPath;
}
