import * as Van from "../van/van.members.js"; export type StateOf = { readonly [K in keyof T]: Van.State } export type ValueType = T extends (infer V)[] ? V : T[keyof T] export type KeyType = T extends unknown[] ? number : string export type ReplacementFunc = T extends (infer V)[] ? (items: V[]) => readonly V[] : (items: [string, T[keyof T]][]) => readonly [string, T[keyof T]][] declare const vanX:{ calc: (f: () => R) => R reactive: (obj: T) => T noreactive: (obj: T) => T, stateFields: (obj: T) => StateOf raw: (obj: T) => T, list: ( container: (() => ElementType) | ElementType, items: T, itemFunc: (v: Van.State>, deleter: () => void, k: KeyType) => Node ) => ElementType, replace: (obj: T, replacement: ReplacementFunc | T) => T, compact: (obj: T) => T, } export default vanX;