// Code generated by FTL. DO NOT EDIT.
package subscriber

import (
	"context"
	ftlbuiltin "ftl/builtin"
	ftlpublisher "ftl/publisher"
	"github.com/block/ftl/common/reflection"
)

type ConsumeClient func(context.Context, ftlpublisher.PubSubEvent) error

type ConsumeButFailAndRetryClient func(context.Context, ftlpublisher.PubSubEvent) error

type ConsumeFromDeadLetterClient func(context.Context, ftlbuiltin.FailedEvent[ftlpublisher.PubSubEvent]) error

type ConsumeFromLatestClient func(context.Context, ftlpublisher.PubSubEvent) error

type ConsumeSlowClient func(context.Context, ftlpublisher.PubSubEvent) error

type PublishToExternalModuleClient func(context.Context) error

func init() {
	reflection.Register(

		reflection.ProvideResourcesForVerb(
			Consume,
		),

		reflection.ProvideResourcesForVerb(
			ConsumeButFailAndRetry,
		),

		reflection.ProvideResourcesForVerb(
			ConsumeFromDeadLetter,
		),

		reflection.ProvideResourcesForVerb(
			ConsumeFromLatest,
		),

		reflection.ProvideResourcesForVerb(
			ConsumeSlow,
		),

		reflection.ProvideResourcesForVerb(
			PublishToExternalModule,
		),
	)
}
