import type { SnapshotInOf, SnapshotOutOf } from "./SnapshotOf";
/**
 * From snapshot options.
 */
export interface FromSnapshotOptions {
    /**
     * Pass `true` to generate new internal ids for models rather than reusing them. (Default is `false`)
     */
    generateNewIds: boolean;
}
/**
 * Deserializers a data structure from its snapshot form.
 *
 * @typeparam T Object type.
 * @param snapshot Snapshot, even if a primitive.
 * @param [options] Options.
 * @returns The deserialized object.
 */
export declare let fromSnapshot: <T>(snapshot: SnapshotInOf<T> | SnapshotOutOf<T>, options?: Partial<FromSnapshotOptions> | undefined) => T;
export declare const observableOptions: {
    deep: boolean;
};
