import { Patch, PatchListener, Immer } from "./internal";
/** Each scope represents a `produce` call. */
export declare class ImmerScope {
    static current?: ImmerScope;
    patches?: Patch[];
    inversePatches?: Patch[];
    canAutoFreeze: boolean;
    drafts: any[];
    parent?: ImmerScope;
    patchListener?: PatchListener;
    immer: Immer;
    constructor(parent: ImmerScope | undefined, immer: Immer);
    usePatches(patchListener?: PatchListener): void;
    revoke(): void;
    leave(): void;
    static enter(immer: Immer): ImmerScope;
}
//# sourceMappingURL=scope.d.ts.map