import 'reflect-metadata'; import { ChronicleClassOrPropertyDecorator } from '../../types/propertyDecoratorMetadata.js'; /** Metadata stored by the clearWith class or property decorator. */ export interface ClearWithMetadata { /** The event constructor that clears the nested object or projection. */ readonly eventType: Function; } /** * Class or property decorator that specifies the event type that clears a nested object. * When used on a class, it clears the entire nested object. * When used on a property, it clears only that property. * @param eventType - The event constructor. * @returns A class and property decorator. */ export declare function clearWith(eventType: Function): ChronicleClassOrPropertyDecorator; /** * Retrieves clearWith metadata stored on the given class constructor. * @param target - The class constructor. * @returns An array of clearWith metadata entries. */ export declare function getClearWithClassMetadata(target: Function): ClearWithMetadata[]; /** * Retrieves clearWith metadata stored on the given property. * @param target - The class prototype. * @param propertyKey - The property name. * @returns An array of clearWith metadata entries. */ export declare function getClearWithPropertyMetadata(target: object, propertyKey: string): ClearWithMetadata[]; //# sourceMappingURL=clearWith.d.ts.map