import type { AsyncResult } from "@fabric/core"; import type { StoreQueryError } from "../errors/query-error.ts"; import type { ModelSchemaFromModels } from "./model-schema.ts"; import type { Model, ModelToType } from "./model.ts"; import type { StoreQuery } from "./query/query.ts"; export interface ReadonlyStateStore { from>( collection: T, ): StoreQuery[T]>>; } export interface WritableStateStore extends ReadonlyStateStore { insertInto>( collection: T, record: ModelToType[T]>, ): AsyncResult; }