import type { ActorMap, ActorInstance, Queue, Event } from './types.js'; declare function getSourceIds(instance: ActorInstance, source: string, id: unknown): unknown; interface ActorAdapter { fetch: (type: string, id: unknown) => Promise; findAncestor: (id: unknown, instances: unknown[], excluded: unknown[]) => Promise; store: (instance: ActorInstance) => Promise; getSystemId: (create: boolean, type: string, id: unknown) => Promise; } interface EventAdapter { fetch: (type: string, id: unknown, lastEventId: unknown, noError?: boolean) => Promise; store: (type: string, id: unknown, events: Event[]) => Promise; storePack: (type: string, id: unknown, vector: unknown, lastEventId: unknown, events: Event[]) => Promise; } export default function (actors: ActorMap, actorAdapter: ActorAdapter, eventAdapter: EventAdapter, queue: Queue): { models: ActorMap; actors: ActorAdapter; events: EventAdapter; getOrCreate: (type: string, id: unknown, readOnly?: boolean | undefined) => Promise; getOrCreateAll: (options: Record, readOnly?: boolean | undefined) => Promise>; getSourceIds: typeof getSourceIds; snapshot: (events: Event[], readOnly: boolean, instance: ActorInstance) => Promise; storeActor: (instance: ActorInstance) => Promise; storeEvents: (type: string, id: unknown, events: Event[]) => Promise; }; export {};