export interface Cache {
  has: (value: any) => boolean;
  set: (key: any, value: any) => void;
  get: (key: any) => any;
}
/**
 * Get an empty version of the object with the same prototype it has.
 */
export declare function getCleanClone(prototype: any): any;
/**
 * Get the tag of the value passed, so that the correct copier can be used.
 */
export declare function getTag(value: any): string;
