func WithOffset(t time.Time) ConsumeOption {
	return func(o *ConsumeOptions) {
		o.Offset = t
	}
}
WithOffset sets the offset time at which to start consuming events
package events
import "time"
type PublishOptions struct {
	Metadata map[string]string
	Timestamp time.Time
}
type PublishOption func(o *PublishOptions)
func WithMetadata(md map[string]string) PublishOption {
	return func(o *PublishOptions) {
		o.Metadata = md
	}
}
func WithTimestamp(t time.Time) PublishOption {
	return func(o *PublishOptions) {
		o.Timestamp = t
	}
}
type ConsumeOptions struct {
	Group string
	Offset time.Time
	AutoAck bool
	AckWait time.Duration
	RetryLimit int
	CustomRetries bool
}
type ConsumeOption func(o *ConsumeOptions)
func WithGroup(q string) ConsumeOption {
	return func(o *ConsumeOptions) {
		o.Group = q
	}
}