import { i as EventSchemaMetadata } from "./event-subscriber-D1XLkPzi.js";

//#region src/define-event.d.ts
type SafeParseResult<T> = {
  success: true;
  data: T;
} | {
  success: false;
  error: unknown;
};
interface SchemaLike<T> {
  safeParse(input: unknown): SafeParseResult<T>;
}
interface DefineEventOptions<S> {
  toJsonSchema?: (schema: S) => unknown;
}
interface DefinedEvent<Name extends string, Payload> {
  readonly name: Name;
  readonly schemaMetadata?: EventSchemaMetadata;
  track(payload: Payload): void;
}
declare function defineEvent<Name extends string, Payload, S extends SchemaLike<Payload>>(name: Name, schema: S, options?: DefineEventOptions<S>): DefinedEvent<Name, Payload>;
//#endregion
export { defineEvent as i, DefinedEvent as n, SchemaLike as r, DefineEventOptions as t };
//# sourceMappingURL=define-event-CreknLm3.d.ts.map