import type { CommittedEvent, Messages, ProjectionResults, ProjectorFactory, State } from "../types"; /** * Projects events (materialized view). * - Projectors reduce events by returning state patches. A patch with an empty record `{id}` represents a `delete` operation. * - Handles event batches (starting from the subscription watermark), reducing patches in a projection map before the final commit. * - The cardinality of the projection is driven by the input stream (can map one or many aggregates in one record). * - The map can contain record-level patches (by id) and filtered patches (updates and deletes). * - Commits are executed in the following order: * - Filtered deletes * - Filtered updates * - Record level patches * * @param factory the projector factory * @param events the committed events to project * @returns projection results */ export default function project(factory: ProjectorFactory, events: CommittedEvent[]): Promise; //# sourceMappingURL=project.d.ts.map