package api

import (
	api "github.com/tech/sendico/pkg/api/http"
	"github.com/tech/sendico/pkg/messaging"
	"github.com/tech/sendico/pkg/mservice"
	"github.com/tech/sendico/server/interface/api/sresponse"
	"github.com/tech/sendico/server/interface/api/ws"
)

type Register interface {
	Handler(service mservice.Type, endpoint string, method api.HTTPMethod, handler sresponse.HandlerFunc)
	AccountHandler(service mservice.Type, endpoint string, method api.HTTPMethod, handler sresponse.AccountHandlerFunc)
	PendingAccountHandler(service mservice.Type, endpoint string, method api.HTTPMethod, handler sresponse.PendingAccountHandlerFunc)
	WSHandler(messageType string, handler ws.HandlerFunc)

	Messaging() messaging.Register
}
