import { CloneConfig } from "./cloneConfig";
export declare type CloneContext = {
    readonly config: CloneConfig;
    readonly cache: Map<object, CloneContext.CacheItem>;
};
export declare module CloneContext {
    function make(options?: {
        config?: CloneConfig;
    }): Readonly<{
        cache: Map<object, CacheItem>;
        config: CloneConfig;
    }>;
    type CacheItem = {
        readonly clone: object;
    } & ({
        isFinished?: false;
    } | {
        readonly isFinished: true;
    });
}
