import type { DocumentLiveMap, LiveMap } from "./livemap.types.js"; import type { DataLocusOptions, Locus } from "./locus.core.types.js"; import type { LocusActionPayloads, LocusConnectionContext, LocusSocketLike } from "./locus.protocol.types.js"; import type { LocusDisposer, LocusResult } from "./locus.shared.types.js"; import type { PersistentDocumentLocusOptions, PersistentLocus } from "./locus.persistence.types.js"; export type LiveHostStoreId = string; export type LiveHostPersistentStoreEntry = Readonly<{ id: LiveHostStoreId; host: PersistentLocus; }>; export type LiveHostPersistentStore = Readonly<{ has: (id: LiveHostStoreId) => boolean; get: (id: LiveHostStoreId) => PersistentLocus | undefined; create: (id: LiveHostStoreId, options: Omit, "logicalMapId" | "persistence">) => Promise>>; load: (id: LiveHostStoreId) => Promise>; unload: (id: LiveHostStoreId) => Promise; list: () => readonly LiveHostPersistentStoreEntry[]; connect: (id: LiveHostStoreId, socket: LocusSocketLike, context?: LocusConnectionContext) => Promise>; }>; export type LiveHostStoreEntry = Readonly<{ id: LiveHostStoreId; host: Locus, TActions>; }>; export type LiveHostStoreCreateOptions = DataLocusOptions; export type LiveHostStore = Readonly<{ has: (id: LiveHostStoreId) => boolean; get: (id: LiveHostStoreId) => Locus | undefined; create: (id: LiveHostStoreId, options?: LiveHostStoreCreateOptions) => LocusResult, TActions>>; set: (id: LiveHostStoreId, host: Locus, TActions>) => LocusResult, TActions>>; delete: (id: LiveHostStoreId) => boolean; list: () => readonly LiveHostStoreEntry[]; connect: (id: LiveHostStoreId, socket: LocusSocketLike, context?: LocusConnectionContext) => LocusResult; }>; //# sourceMappingURL=livehost.services.types.d.ts.map