import { IDomainEvent } from '../../../contracts/src/index.ts'; /** * Compare two events structurally: same eventName + deep-equal payload. * Ignores metadata (timestamp, eventId, correlationId) for testing purposes. * * @public * @stable * @since 0.24.0 */ export declare function eventsMatch(expected: IDomainEvent, actual: IDomainEvent): boolean; /** * Compare event arrays structurally (order matters). * * @public * @stable * @since 0.24.0 */ export declare function eventArraysMatch(expected: ReadonlyArray, actual: ReadonlyArray): boolean; /** * Partial event matcher — checks type + subset of payload fields. * * @public * @stable * @since 0.24.0 * * @example * ```typescript * Test(Order) * .given(...) * .when(order => order.place(items)) * .then(matching(OrderPlaced, { itemCount: 2 })); * ``` */ export declare function matching(eventClass: new (...args: never[]) => IDomainEvent, partialPayload: Record): IDomainEvent; /** * Check if an event was created with matching() for partial comparison. */ export declare function isPartialMatch(event: IDomainEvent): boolean; /** * Compare a partial-match event against an actual event. */ export declare function partialEventMatches(expected: IDomainEvent, actual: IDomainEvent): boolean;