import 'reflect-metadata'; import { ChroniclePropertyDecorator } from '../../types/propertyDecoratorMetadata.js'; /** Metadata stored by the join property decorator. */ export interface JoinMetadata { /** The event constructor associated with this annotation. */ readonly eventType: Function; /** The read model property name used to form the join relationship. */ readonly on?: string; /** The event property name to read the joined value from. Defaults to the decorated property name. */ readonly eventPropertyName?: string; } /** * Property decorator that configures a join relationship with an event type. * @param eventType - The event constructor. * @param on - Optional property name on the read model to join on. * @param eventPropertyName - Optional event property name. Defaults to the property name. * @returns A property decorator. */ export declare function join(eventType: Function, on?: string, eventPropertyName?: string): ChroniclePropertyDecorator; /** * Retrieves all join metadata stored on the given property. * @param target - The class prototype. * @param propertyKey - The property name. * @returns An array of join metadata entries. */ export declare function getJoinMetadata(target: object, propertyKey: string): JoinMetadata[]; //# sourceMappingURL=join.d.ts.map