import 'reflect-metadata'; import { Constructor } from '@cratis/fundamentals'; import { EventType } from '../EventType.js'; /** * Metadata stored on an event type migration class. */ export interface EventTypeMigrationMetadata { /** The upgraded (newer) event type represented by this migration. */ readonly eventType: EventType; /** The previous (older) event type this migration migrates from. */ readonly previousEventType: EventType; } /** * Decorator that marks a class as an event type migration between two generations * of the same event type. * @param upgradedType - The upgraded event type constructor. * @param previousType - The previous event type constructor. * @returns A class decorator. */ export declare function eventTypeMigration(upgradedType: Constructor, previousType: Constructor): ClassDecorator; /** * Gets the {@link EventTypeMigrationMetadata} associated with a class decorated with {@link eventTypeMigration}. * @param target - The class constructor to retrieve the metadata for. * @returns The associated metadata, or undefined if not decorated. */ export declare function getEventTypeMigrationMetadata(target: Function): EventTypeMigrationMetadata | undefined; /** * Checks whether a class has been decorated with {@link eventTypeMigration}. * @param target - The class constructor to check. * @returns True if the class has migration metadata; false otherwise. */ export declare function isEventTypeMigration(target: Function): boolean; //# sourceMappingURL=eventTypeMigration.d.ts.map