import { Setter, Signal } from "solid-js"; import { SolidSignal } from "../../../utils/signal.js"; type DeepSetter = Setter & (T extends {} ? { [Key in keyof T]: DeepSetter; } : T); declare namespace createDeepObject { type Extensions = [ {}, { deep: DeepSetter; } ]; type Type = SolidSignal.Extended>; type Result = ReturnType>; } declare function createDeepObject(value: T, options?: SolidSignal.Options): Signal & createDeepObject.Extensions; declare namespace createDeepObject { var wrap: >(signal: Sig) => Sig & Extensions ? T : never>; } export default createDeepObject;