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

import (
	"context"
	"github.com/block/ftl/common/reflection"
	"github.com/block/ftl/go-runtime/ftl"
	"github.com/block/ftl/go-runtime/server"
)

type LocalClient func(context.Context, PubSubEvent) error

type PublishOneClient func(context.Context) error

type PublishOneToTopic2Client func(context.Context, PublishOneToTopic2Request) error

type PublishSlowClient func(context.Context) error

type PublishTenClient func(context.Context) error

type PublishTenLocalClient func(context.Context) error

func init() {
	reflection.Register(

		reflection.ProvideResourcesForVerb(
			Local,
		),

		reflection.ProvideResourcesForVerb(
			PublishOne,
			server.TopicHandle[PubSubEvent, PartitionMapper]("publisher", "testTopic"),
		),

		reflection.ProvideResourcesForVerb(
			PublishOneToTopic2,
			server.TopicHandle[PubSubEvent, ftl.SinglePartitionMap[PubSubEvent]]("publisher", "topic2"),
		),

		reflection.ProvideResourcesForVerb(
			PublishSlow,
			server.TopicHandle[PubSubEvent, PartitionMapper]("publisher", "slowTopic"),
		),

		reflection.ProvideResourcesForVerb(
			PublishTen,
			server.TopicHandle[PubSubEvent, PartitionMapper]("publisher", "testTopic"),
		),

		reflection.ProvideResourcesForVerb(
			PublishTenLocal,
			server.TopicHandle[PubSubEvent, PartitionMapper]("publisher", "localTopic"),
		),
	)
}
