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

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

type BatchStringToTimeClient func(context.Context, []string) ([]stdtime.Time, error)

type HttpClient func(context.Context, ftlbuiltin.HttpRequest[ftl.Unit, ftl.Unit, Req]) (ftlbuiltin.HttpResponse[Resp, ftl.Unit], error)

type NothingClient func(context.Context) error

type SinkClient func(context.Context, SinkReq) error

type SourceClient func(context.Context) (SourceResp, error)

type StringToTimeClient func(context.Context, string) (stdtime.Time, error)

type VerbClient func(context.Context, Req) (Resp, error)

func init() {
	reflection.Register(
		reflection.SumType[BlobOrList](
			*new(Blob),
			*new(List),
		),
		reflection.SumType[PrivateEnum](
			*new(ExportedStruct),
			*new(PrivateStruct),
			*new(WithoutDirectiveStruct),
		),
		reflection.SumType[TypeEnum](
			*new(AliasedStruct),
			*new(InlineStruct),
			*new(Option),
			*new(ValueEnum),
		),
		reflection.Database[MyDbConfig]("testDb", server.InitPostgres),
		reflection.ProvideResourcesForVerb(
			BatchStringToTime,
		),
		reflection.ProvideResourcesForVerb(
			Http,
		),
		reflection.ProvideResourcesForVerb(
			Nothing,
		),
		reflection.ProvideResourcesForVerb(
			Sink,
		),
		reflection.ProvideResourcesForVerb(
			Source,
		),
		reflection.ProvideResourcesForVerb(
			StringToTime,
		),
		reflection.ProvideResourcesForVerb(
			Verb,
		),
	)
}
