import type { ApplogValue, EntityID } from '../applog/datom-types.ts'; import type { Thread } from '../thread/basic.ts'; import { ObjectBuilder } from './builder.ts'; import { type ISignalAdapter, type IVMInstance, type ViewModelFactoryOptions } from './types.ts'; /** * Default signal adapter — reads Subscribable values directly (snapshot). * Subscribe-once to keep .value current. No framework reactivity. */ export declare const DefaultSignalAdapter: ISignalAdapter; /** * Create a ViewModel factory for a given schema. * * Returns a base class that can be extended or used directly. * The class provides: * - Static `get(en, thread)` for singleton access * - Static `buildNew(init, en)` for creating entities * - Instance `buildUpdate(init)` for updating entities * - Lazy reactive property accessors per attribute * - `setDeleted()` for soft deletion * * Framework-specific reactivity (Solid, Vue, etc.) can be added by * providing a custom `ISignalAdapter` in the options. * * @param options - Factory configuration * @returns A VM class constructor with static methods */ export declare function createViewModelFactory>(options: ViewModelFactoryOptions): { new (en: EntityID, thread: Thread, skipInit?: boolean): IVMInstance & T; /** Get or create a VM instance for the given entity ID */ get(en: EntityID, thread: Thread): IVMInstance & T; /** Create a builder for a new entity */ buildNew(init?: Partial, en?: EntityID): ObjectBuilder; /** The VM name (for debugging) */ readonly vmName: string; /** The entity prefix used for at-paths */ readonly entityPrefix: string; }; //# sourceMappingURL=factory.d.ts.map