# PhaseEventMap

`type` in `services` · v0.7.1

<https://docs.seedcord.org/packages/services/0.7.1/types/phase-event-map>

Strict-event-emitter payload map for a lifecycle: phase + prefix `start`/`complete` events carry no payload; the `${Prefix}:error` event carries the thrown error.

## Declaration

```ts
type PhaseEventMap<
    Prefix extends string,
    Phases extends number[]
> = {
    [K in PhaseEvents<
        Prefix,
        Phases
    >]: K extends `${string}:error`
        ? readonly [error: unknown]
        : readonly [];
};
```
