import { Signal } from "solid-js"; import { SolidSignal } from "../../../utils/signal.js"; type AnyObject = Record; type OptionalKeys = { [Key in keyof T]-?: Omit extends T ? Key : never; }[keyof T]; declare namespace createObject { type Extensions = [ {}, { /** * Shallow merges state with updates * @param updates - New properties to be set */ update(updates: Partial | ((state: T) => Partial)): void; /** * Deletes property from object state, type only allows optional properties * @param property - Property key to delete */ delete(property: OptionalKeys): void; } ]; type Type = SolidSignal.Extended>; type Result = ReturnType>; } declare function createObject(value: T, options?: SolidSignal.Options): Signal & createObject.Extensions; declare namespace createObject { var wrap: >(signal: Sig) => Sig & Extensions ? T : never>; } export default createObject;