import { ProxyDraft } from './interface';
export declare function handleReturnValue<T extends object>(options: {
    rootDraft: ProxyDraft<any> | undefined;
    value: T;
    useRawReturn?: boolean;
    isContainDraft?: boolean;
    isRoot?: boolean;
}): void;
/**
 * `current(draft)` to get current state in the draft mutation function.
 *
 * ## Example
 *
 * ```ts
 * import { create, current } from '../index';
 *
 * const baseState = { foo: { bar: 'str' }, arr: [] };
 * const state = create(
 *   baseState,
 *   (draft) => {
 *     draft.foo.bar = 'str2';
 *     expect(current(draft.foo)).toEqual({ bar: 'str2' });
 *   },
 * );
 * ```
 */
export declare function current<T extends object>(target: T): T;
