import type { Event, StreamOptions } from './types.js'; interface Manager { models: Record; getSourceIds: (instance: unknown, source: string, id: unknown) => unknown; } interface Dispatcher { apply: (type: string, event: Event, instance: unknown) => Promise | void; } interface ActorAdapterStream { fetchByLastEventId: (type: string, id: unknown, lastEventId: unknown) => Promise; fetchByLastEventDate: (type: string, id: unknown, date: unknown) => Promise; } interface EventAdapterStream { fetchStream: (type: string, id: unknown, options: Record) => Promise | AsyncIterable>; } export default function (manager?: Manager, dispatcher?: Dispatcher, actorAdapter?: ActorAdapterStream, eventAdapter?: EventAdapterStream): { getActorStream: ((actorType: string, actorId: unknown, options: StreamOptions) => AsyncGenerator, any, any>) | undefined; getEventStream: ((actorId: unknown, options: StreamOptions) => Promise>) | undefined; }; export {};