import type { PropertyAccessor } from '@cratis/fundamentals'; import type { IAllSetBuilder } from './IAllSetBuilder.js'; /** Configures mappings for every event, including types not otherwise declared by the projection. */ export interface IFromAllBuilder { /** * Starts an assignment to a read-model property. * @param readModelPropertyAccessor - Target property accessor. * @returns The assignment builder, continuing with this all-events builder. */ set(readModelPropertyAccessor: PropertyAccessor): IAllSetBuilder>; /** * Counts every event, optionally under a dynamic dictionary key. * @param readModelPropertyAccessor - Scalar or dictionary target accessor. * @param contextPropertyName - Optional event-context path for the dictionary key, such as `eventType.id`. * @returns This builder for chaining. */ count(readModelPropertyAccessor: PropertyAccessor, contextPropertyName?: string): IFromAllBuilder; /** * Increments a property for every event, optionally under a dynamic dictionary key. * @param readModelPropertyAccessor - Scalar or dictionary target accessor. * @param contextPropertyName - Optional event-context path for the dictionary key. * @returns This builder for chaining. */ increment(readModelPropertyAccessor: PropertyAccessor, contextPropertyName?: string): IFromAllBuilder; /** * Decrements a property for every event, optionally under a dynamic dictionary key. * @param readModelPropertyAccessor - Scalar or dictionary target accessor. * @param contextPropertyName - Optional event-context path for the dictionary key. * @returns This builder for chaining. */ decrement(readModelPropertyAccessor: PropertyAccessor, contextPropertyName?: string): IFromAllBuilder; } //# sourceMappingURL=IFromAllBuilder.d.ts.map