import { IncomingInternalEvents, OutgoingInternalEvents } from './events.cjs';
export { CrossmintInternalEvents } from './events.cjs';
import { CrossmintInternalEventMap } from './payloads.cjs';
import '../../system.cjs';
import '@crossmint/common-sdk-base';

type IncomingInternalEvent = {
    [K in IncomingInternalEvents]: {
        type: K;
        payload: CrossmintInternalEventMap[K];
    };
}[IncomingInternalEvents];
type OutgoingInternalEvent = {
    [K in OutgoingInternalEvents]: {
        type: K;
        payload: CrossmintInternalEventMap[K];
    };
}[OutgoingInternalEvents];
type CrossmintInternalEvent = IncomingInternalEvent | OutgoingInternalEvent;

export { type CrossmintInternalEvent, CrossmintInternalEventMap, type IncomingInternalEvent, IncomingInternalEvents, type OutgoingInternalEvent, OutgoingInternalEvents };
