// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
// - protoc             (unknown)
// source: messengertypes/messengertypes.proto

package messengertypes

import (
	context "context"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
)

// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
// Requires gRPC-Go v1.64.0 or later.
const _ = grpc.SupportPackageIsVersion9

const (
	MessengerService_InstanceShareableBertyID_FullMethodName        = "/berty.messenger.v1.MessengerService/InstanceShareableBertyID"
	MessengerService_ShareableBertyGroup_FullMethodName             = "/berty.messenger.v1.MessengerService/ShareableBertyGroup"
	MessengerService_DevShareInstanceBertyID_FullMethodName         = "/berty.messenger.v1.MessengerService/DevShareInstanceBertyID"
	MessengerService_DevStreamLogs_FullMethodName                   = "/berty.messenger.v1.MessengerService/DevStreamLogs"
	MessengerService_ParseDeepLink_FullMethodName                   = "/berty.messenger.v1.MessengerService/ParseDeepLink"
	MessengerService_SendContactRequest_FullMethodName              = "/berty.messenger.v1.MessengerService/SendContactRequest"
	MessengerService_SystemInfo_FullMethodName                      = "/berty.messenger.v1.MessengerService/SystemInfo"
	MessengerService_EchoTest_FullMethodName                        = "/berty.messenger.v1.MessengerService/EchoTest"
	MessengerService_EchoDuplexTest_FullMethodName                  = "/berty.messenger.v1.MessengerService/EchoDuplexTest"
	MessengerService_ConversationStream_FullMethodName              = "/berty.messenger.v1.MessengerService/ConversationStream"
	MessengerService_EventStream_FullMethodName                     = "/berty.messenger.v1.MessengerService/EventStream"
	MessengerService_ConversationCreate_FullMethodName              = "/berty.messenger.v1.MessengerService/ConversationCreate"
	MessengerService_ConversationJoin_FullMethodName                = "/berty.messenger.v1.MessengerService/ConversationJoin"
	MessengerService_AccountGet_FullMethodName                      = "/berty.messenger.v1.MessengerService/AccountGet"
	MessengerService_AccountUpdate_FullMethodName                   = "/berty.messenger.v1.MessengerService/AccountUpdate"
	MessengerService_AccountPushConfigure_FullMethodName            = "/berty.messenger.v1.MessengerService/AccountPushConfigure"
	MessengerService_ContactRequest_FullMethodName                  = "/berty.messenger.v1.MessengerService/ContactRequest"
	MessengerService_ContactAccept_FullMethodName                   = "/berty.messenger.v1.MessengerService/ContactAccept"
	MessengerService_Interact_FullMethodName                        = "/berty.messenger.v1.MessengerService/Interact"
	MessengerService_ConversationOpen_FullMethodName                = "/berty.messenger.v1.MessengerService/ConversationOpen"
	MessengerService_ConversationClose_FullMethodName               = "/berty.messenger.v1.MessengerService/ConversationClose"
	MessengerService_ConversationLoad_FullMethodName                = "/berty.messenger.v1.MessengerService/ConversationLoad"
	MessengerService_ConversationMute_FullMethodName                = "/berty.messenger.v1.MessengerService/ConversationMute"
	MessengerService_ReplicationServiceRegisterGroup_FullMethodName = "/berty.messenger.v1.MessengerService/ReplicationServiceRegisterGroup"
	MessengerService_ReplicationSetAutoEnable_FullMethodName        = "/berty.messenger.v1.MessengerService/ReplicationSetAutoEnable"
	MessengerService_BannerQuote_FullMethodName                     = "/berty.messenger.v1.MessengerService/BannerQuote"
	MessengerService_InstanceExportData_FullMethodName              = "/berty.messenger.v1.MessengerService/InstanceExportData"
	MessengerService_MessageSearch_FullMethodName                   = "/berty.messenger.v1.MessengerService/MessageSearch"
	MessengerService_ListMemberDevices_FullMethodName               = "/berty.messenger.v1.MessengerService/ListMemberDevices"
	MessengerService_TyberHostSearch_FullMethodName                 = "/berty.messenger.v1.MessengerService/TyberHostSearch"
	MessengerService_TyberHostAttach_FullMethodName                 = "/berty.messenger.v1.MessengerService/TyberHostAttach"
	MessengerService_DebugAuthServiceSetToken_FullMethodName        = "/berty.messenger.v1.MessengerService/DebugAuthServiceSetToken"
	MessengerService_ServicesTokenList_FullMethodName               = "/berty.messenger.v1.MessengerService/ServicesTokenList"
	MessengerService_AuthServiceInitFlow_FullMethodName             = "/berty.messenger.v1.MessengerService/AuthServiceInitFlow"
	MessengerService_AuthServiceCompleteFlow_FullMethodName         = "/berty.messenger.v1.MessengerService/AuthServiceCompleteFlow"
	MessengerService_PushSetAutoShare_FullMethodName                = "/berty.messenger.v1.MessengerService/PushSetAutoShare"
	MessengerService_PushShareTokenForConversation_FullMethodName   = "/berty.messenger.v1.MessengerService/PushShareTokenForConversation"
	MessengerService_PushTokenSharedForConversation_FullMethodName  = "/berty.messenger.v1.MessengerService/PushTokenSharedForConversation"
	MessengerService_PushReceive_FullMethodName                     = "/berty.messenger.v1.MessengerService/PushReceive"
	MessengerService_PushSend_FullMethodName                        = "/berty.messenger.v1.MessengerService/PushSend"
	MessengerService_PushSetDeviceToken_FullMethodName              = "/berty.messenger.v1.MessengerService/PushSetDeviceToken"
	MessengerService_PushSetServer_FullMethodName                   = "/berty.messenger.v1.MessengerService/PushSetServer"
	MessengerService_DirectoryServiceRegister_FullMethodName        = "/berty.messenger.v1.MessengerService/DirectoryServiceRegister"
	MessengerService_DirectoryServiceUnregister_FullMethodName      = "/berty.messenger.v1.MessengerService/DirectoryServiceUnregister"
	MessengerService_DirectoryServiceQuery_FullMethodName           = "/berty.messenger.v1.MessengerService/DirectoryServiceQuery"
)

// MessengerServiceClient is the client API for MessengerService service.
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
//
// MessengerService is the top-level API that uses the weshnet.protocol to implement the Berty Messenger specific logic.
// Today, most of the Berty Messenger logic is implemented directly in the application (see the /js folder of this repo).
type MessengerServiceClient interface {
	// InstanceShareableBertyID returns a Berty ID that can be shared as a string, QR code or deep link.
	InstanceShareableBertyID(ctx context.Context, in *InstanceShareableBertyID_Request, opts ...grpc.CallOption) (*InstanceShareableBertyID_Reply, error)
	// ShareableBertyGroup returns a Berty Group that can be shared as a string, QR code or deep link.
	ShareableBertyGroup(ctx context.Context, in *ShareableBertyGroup_Request, opts ...grpc.CallOption) (*ShareableBertyGroup_Reply, error)
	// DevShareInstanceBertyID shares your Berty ID on a dev channel.
	// TODO: remove for public.
	DevShareInstanceBertyID(ctx context.Context, in *DevShareInstanceBertyID_Request, opts ...grpc.CallOption) (*DevShareInstanceBertyID_Reply, error)
	// DevStreamLogs streams logs from the ring-buffer.
	DevStreamLogs(ctx context.Context, in *DevStreamLogs_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[DevStreamLogs_Reply], error)
	// ParseDeepLink parses a link in the form of berty://xxx or https://berty.tech/id# and returns a structure
	// that can be used to display information.
	// This action is read-only.
	ParseDeepLink(ctx context.Context, in *ParseDeepLink_Request, opts ...grpc.CallOption) (*ParseDeepLink_Reply, error)
	// SendContactRequest takes the payload received from ParseDeepLink and send a contact request using the weshnet.protocol.
	SendContactRequest(ctx context.Context, in *SendContactRequest_Request, opts ...grpc.CallOption) (*SendContactRequest_Reply, error)
	// SystemInfo returns runtime information.
	SystemInfo(ctx context.Context, in *SystemInfo_Request, opts ...grpc.CallOption) (*SystemInfo_Reply, error)
	// Use to test stream.
	EchoTest(ctx context.Context, in *EchoTest_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[EchoTest_Reply], error)
	// Use to test duplex stream.
	EchoDuplexTest(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[EchoDuplexTest_Request, EchoDuplexTest_Reply], error)
	ConversationStream(ctx context.Context, in *ConversationStream_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[ConversationStream_Reply], error)
	EventStream(ctx context.Context, in *EventStream_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[EventStream_Reply], error)
	ConversationCreate(ctx context.Context, in *ConversationCreate_Request, opts ...grpc.CallOption) (*ConversationCreate_Reply, error)
	ConversationJoin(ctx context.Context, in *ConversationJoin_Request, opts ...grpc.CallOption) (*ConversationJoin_Reply, error)
	AccountGet(ctx context.Context, in *AccountGet_Request, opts ...grpc.CallOption) (*AccountGet_Reply, error)
	AccountUpdate(ctx context.Context, in *AccountUpdate_Request, opts ...grpc.CallOption) (*AccountUpdate_Reply, error)
	AccountPushConfigure(ctx context.Context, in *AccountPushConfigure_Request, opts ...grpc.CallOption) (*AccountPushConfigure_Reply, error)
	ContactRequest(ctx context.Context, in *ContactRequest_Request, opts ...grpc.CallOption) (*ContactRequest_Reply, error)
	ContactAccept(ctx context.Context, in *ContactAccept_Request, opts ...grpc.CallOption) (*ContactAccept_Reply, error)
	Interact(ctx context.Context, in *Interact_Request, opts ...grpc.CallOption) (*Interact_Reply, error)
	ConversationOpen(ctx context.Context, in *ConversationOpen_Request, opts ...grpc.CallOption) (*ConversationOpen_Reply, error)
	ConversationClose(ctx context.Context, in *ConversationClose_Request, opts ...grpc.CallOption) (*ConversationClose_Reply, error)
	ConversationLoad(ctx context.Context, in *ConversationLoad_Request, opts ...grpc.CallOption) (*ConversationLoad_Reply, error)
	ConversationMute(ctx context.Context, in *ConversationMute_Request, opts ...grpc.CallOption) (*ConversationMute_Reply, error)
	// ReplicationServiceRegisterGroup Asks a replication service to distribute a group contents
	ReplicationServiceRegisterGroup(ctx context.Context, in *ReplicationServiceRegisterGroup_Request, opts ...grpc.CallOption) (*ReplicationServiceRegisterGroup_Reply, error)
	// ReplicationSetAutoEnable Sets whether new groups should be replicated automatically or not
	ReplicationSetAutoEnable(ctx context.Context, in *ReplicationSetAutoEnable_Request, opts ...grpc.CallOption) (*ReplicationSetAutoEnable_Reply, error)
	// BannerQuote returns the quote of the day.
	BannerQuote(ctx context.Context, in *BannerQuote_Request, opts ...grpc.CallOption) (*BannerQuote_Reply, error)
	// InstanceExportData exports instance data
	InstanceExportData(ctx context.Context, in *InstanceExportData_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[InstanceExportData_Reply], error)
	// MessageSearch
	MessageSearch(ctx context.Context, in *MessageSearch_Request, opts ...grpc.CallOption) (*MessageSearch_Reply, error)
	// ListMemberDevices Lists devices for a member
	ListMemberDevices(ctx context.Context, in *ListMemberDevices_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[ListMemberDevices_Reply], error)
	// TyberHostSearch
	TyberHostSearch(ctx context.Context, in *TyberHostSearch_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[TyberHostSearch_Reply], error)
	// TyberHostAttach
	TyberHostAttach(ctx context.Context, in *TyberHostAttach_Request, opts ...grpc.CallOption) (*TyberHostAttach_Reply, error)
	// DebugAuthServiceSetToken sets the service token directly without using the PKCE OAuth 2 token issuer
	DebugAuthServiceSetToken(ctx context.Context, in *DebugAuthServiceSetToken_Request, opts ...grpc.CallOption) (*DebugAuthServiceSetToken_Reply, error)
	// ServicesTokenList Retrieves the list of service server tokens
	ServicesTokenList(ctx context.Context, in *ServicesTokenList_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[ServicesTokenList_Reply], error)
	// AuthServiceInitFlow Initialize an authentication flow
	AuthServiceInitFlow(ctx context.Context, in *AuthServiceInitFlow_Request, opts ...grpc.CallOption) (*AuthServiceInitFlow_Reply, error)
	// AuthServiceCompleteFlow Completes an authentication flow
	AuthServiceCompleteFlow(ctx context.Context, in *AuthServiceCompleteFlow_Request, opts ...grpc.CallOption) (*AuthServiceCompleteFlow_Reply, error)
	// PushSetAutoShare Sets whether new groups should receive our push token automatically or not
	PushSetAutoShare(ctx context.Context, in *PushSetAutoShare_Request, opts ...grpc.CallOption) (*PushSetAutoShare_Reply, error)
	// PushShareTokenForConversation Share a push token for a conversation
	PushShareTokenForConversation(ctx context.Context, in *PushShareTokenForConversation_Request, opts ...grpc.CallOption) (*PushShareTokenForConversation_Reply, error)
	// PushTokenSharedForConversation
	PushTokenSharedForConversation(ctx context.Context, in *PushTokenSharedForConversation_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[PushTokenSharedForConversation_Reply], error)
	// PushReceive handles a push payload, decrypts it if possible, adds it to the local store
	PushReceive(ctx context.Context, in *PushReceive_Request, opts ...grpc.CallOption) (*PushReceive_Reply, error)
	// PushSend sends a push payload to a specified list of group members
	PushSend(ctx context.Context, in *PushSend_Request, opts ...grpc.CallOption) (*PushSend_Reply, error)
	// PushSetDeviceToken registers a push token for the current device
	PushSetDeviceToken(ctx context.Context, in *PushSetDeviceToken_Request, opts ...grpc.CallOption) (*PushSetDeviceToken_Reply, error)
	// PushSetServer registers a push server for the current device
	PushSetServer(ctx context.Context, in *PushSetServer_Request, opts ...grpc.CallOption) (*PushSetServer_Reply, error)
	// DirectoryServiceRegister registers a verified credential on a directory service
	DirectoryServiceRegister(ctx context.Context, in *DirectoryServiceRegister_Request, opts ...grpc.CallOption) (*DirectoryServiceRegister_Reply, error)
	// DirectoryServiceUnregister requests a directory service to remove a verified credential
	DirectoryServiceUnregister(ctx context.Context, in *DirectoryServiceUnregister_Request, opts ...grpc.CallOption) (*DirectoryServiceUnregister_Reply, error)
	// DirectoryServiceQuery queries a directory service for given identifiers
	DirectoryServiceQuery(ctx context.Context, in *DirectoryServiceQuery_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[DirectoryServiceQuery_Reply], error)
}

type messengerServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewMessengerServiceClient(cc grpc.ClientConnInterface) MessengerServiceClient {
	return &messengerServiceClient{cc}
}

func (c *messengerServiceClient) InstanceShareableBertyID(ctx context.Context, in *InstanceShareableBertyID_Request, opts ...grpc.CallOption) (*InstanceShareableBertyID_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(InstanceShareableBertyID_Reply)
	err := c.cc.Invoke(ctx, MessengerService_InstanceShareableBertyID_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) ShareableBertyGroup(ctx context.Context, in *ShareableBertyGroup_Request, opts ...grpc.CallOption) (*ShareableBertyGroup_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ShareableBertyGroup_Reply)
	err := c.cc.Invoke(ctx, MessengerService_ShareableBertyGroup_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) DevShareInstanceBertyID(ctx context.Context, in *DevShareInstanceBertyID_Request, opts ...grpc.CallOption) (*DevShareInstanceBertyID_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(DevShareInstanceBertyID_Reply)
	err := c.cc.Invoke(ctx, MessengerService_DevShareInstanceBertyID_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) DevStreamLogs(ctx context.Context, in *DevStreamLogs_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[DevStreamLogs_Reply], error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	stream, err := c.cc.NewStream(ctx, &MessengerService_ServiceDesc.Streams[0], MessengerService_DevStreamLogs_FullMethodName, cOpts...)
	if err != nil {
		return nil, err
	}
	x := &grpc.GenericClientStream[DevStreamLogs_Request, DevStreamLogs_Reply]{ClientStream: stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_DevStreamLogsClient = grpc.ServerStreamingClient[DevStreamLogs_Reply]

func (c *messengerServiceClient) ParseDeepLink(ctx context.Context, in *ParseDeepLink_Request, opts ...grpc.CallOption) (*ParseDeepLink_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ParseDeepLink_Reply)
	err := c.cc.Invoke(ctx, MessengerService_ParseDeepLink_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) SendContactRequest(ctx context.Context, in *SendContactRequest_Request, opts ...grpc.CallOption) (*SendContactRequest_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(SendContactRequest_Reply)
	err := c.cc.Invoke(ctx, MessengerService_SendContactRequest_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) SystemInfo(ctx context.Context, in *SystemInfo_Request, opts ...grpc.CallOption) (*SystemInfo_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(SystemInfo_Reply)
	err := c.cc.Invoke(ctx, MessengerService_SystemInfo_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) EchoTest(ctx context.Context, in *EchoTest_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[EchoTest_Reply], error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	stream, err := c.cc.NewStream(ctx, &MessengerService_ServiceDesc.Streams[1], MessengerService_EchoTest_FullMethodName, cOpts...)
	if err != nil {
		return nil, err
	}
	x := &grpc.GenericClientStream[EchoTest_Request, EchoTest_Reply]{ClientStream: stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_EchoTestClient = grpc.ServerStreamingClient[EchoTest_Reply]

func (c *messengerServiceClient) EchoDuplexTest(ctx context.Context, opts ...grpc.CallOption) (grpc.BidiStreamingClient[EchoDuplexTest_Request, EchoDuplexTest_Reply], error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	stream, err := c.cc.NewStream(ctx, &MessengerService_ServiceDesc.Streams[2], MessengerService_EchoDuplexTest_FullMethodName, cOpts...)
	if err != nil {
		return nil, err
	}
	x := &grpc.GenericClientStream[EchoDuplexTest_Request, EchoDuplexTest_Reply]{ClientStream: stream}
	return x, nil
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_EchoDuplexTestClient = grpc.BidiStreamingClient[EchoDuplexTest_Request, EchoDuplexTest_Reply]

func (c *messengerServiceClient) ConversationStream(ctx context.Context, in *ConversationStream_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[ConversationStream_Reply], error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	stream, err := c.cc.NewStream(ctx, &MessengerService_ServiceDesc.Streams[3], MessengerService_ConversationStream_FullMethodName, cOpts...)
	if err != nil {
		return nil, err
	}
	x := &grpc.GenericClientStream[ConversationStream_Request, ConversationStream_Reply]{ClientStream: stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_ConversationStreamClient = grpc.ServerStreamingClient[ConversationStream_Reply]

func (c *messengerServiceClient) EventStream(ctx context.Context, in *EventStream_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[EventStream_Reply], error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	stream, err := c.cc.NewStream(ctx, &MessengerService_ServiceDesc.Streams[4], MessengerService_EventStream_FullMethodName, cOpts...)
	if err != nil {
		return nil, err
	}
	x := &grpc.GenericClientStream[EventStream_Request, EventStream_Reply]{ClientStream: stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_EventStreamClient = grpc.ServerStreamingClient[EventStream_Reply]

func (c *messengerServiceClient) ConversationCreate(ctx context.Context, in *ConversationCreate_Request, opts ...grpc.CallOption) (*ConversationCreate_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ConversationCreate_Reply)
	err := c.cc.Invoke(ctx, MessengerService_ConversationCreate_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) ConversationJoin(ctx context.Context, in *ConversationJoin_Request, opts ...grpc.CallOption) (*ConversationJoin_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ConversationJoin_Reply)
	err := c.cc.Invoke(ctx, MessengerService_ConversationJoin_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) AccountGet(ctx context.Context, in *AccountGet_Request, opts ...grpc.CallOption) (*AccountGet_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(AccountGet_Reply)
	err := c.cc.Invoke(ctx, MessengerService_AccountGet_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) AccountUpdate(ctx context.Context, in *AccountUpdate_Request, opts ...grpc.CallOption) (*AccountUpdate_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(AccountUpdate_Reply)
	err := c.cc.Invoke(ctx, MessengerService_AccountUpdate_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) AccountPushConfigure(ctx context.Context, in *AccountPushConfigure_Request, opts ...grpc.CallOption) (*AccountPushConfigure_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(AccountPushConfigure_Reply)
	err := c.cc.Invoke(ctx, MessengerService_AccountPushConfigure_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) ContactRequest(ctx context.Context, in *ContactRequest_Request, opts ...grpc.CallOption) (*ContactRequest_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ContactRequest_Reply)
	err := c.cc.Invoke(ctx, MessengerService_ContactRequest_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) ContactAccept(ctx context.Context, in *ContactAccept_Request, opts ...grpc.CallOption) (*ContactAccept_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ContactAccept_Reply)
	err := c.cc.Invoke(ctx, MessengerService_ContactAccept_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) Interact(ctx context.Context, in *Interact_Request, opts ...grpc.CallOption) (*Interact_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(Interact_Reply)
	err := c.cc.Invoke(ctx, MessengerService_Interact_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) ConversationOpen(ctx context.Context, in *ConversationOpen_Request, opts ...grpc.CallOption) (*ConversationOpen_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ConversationOpen_Reply)
	err := c.cc.Invoke(ctx, MessengerService_ConversationOpen_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) ConversationClose(ctx context.Context, in *ConversationClose_Request, opts ...grpc.CallOption) (*ConversationClose_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ConversationClose_Reply)
	err := c.cc.Invoke(ctx, MessengerService_ConversationClose_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) ConversationLoad(ctx context.Context, in *ConversationLoad_Request, opts ...grpc.CallOption) (*ConversationLoad_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ConversationLoad_Reply)
	err := c.cc.Invoke(ctx, MessengerService_ConversationLoad_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) ConversationMute(ctx context.Context, in *ConversationMute_Request, opts ...grpc.CallOption) (*ConversationMute_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ConversationMute_Reply)
	err := c.cc.Invoke(ctx, MessengerService_ConversationMute_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) ReplicationServiceRegisterGroup(ctx context.Context, in *ReplicationServiceRegisterGroup_Request, opts ...grpc.CallOption) (*ReplicationServiceRegisterGroup_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ReplicationServiceRegisterGroup_Reply)
	err := c.cc.Invoke(ctx, MessengerService_ReplicationServiceRegisterGroup_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) ReplicationSetAutoEnable(ctx context.Context, in *ReplicationSetAutoEnable_Request, opts ...grpc.CallOption) (*ReplicationSetAutoEnable_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ReplicationSetAutoEnable_Reply)
	err := c.cc.Invoke(ctx, MessengerService_ReplicationSetAutoEnable_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) BannerQuote(ctx context.Context, in *BannerQuote_Request, opts ...grpc.CallOption) (*BannerQuote_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(BannerQuote_Reply)
	err := c.cc.Invoke(ctx, MessengerService_BannerQuote_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) InstanceExportData(ctx context.Context, in *InstanceExportData_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[InstanceExportData_Reply], error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	stream, err := c.cc.NewStream(ctx, &MessengerService_ServiceDesc.Streams[5], MessengerService_InstanceExportData_FullMethodName, cOpts...)
	if err != nil {
		return nil, err
	}
	x := &grpc.GenericClientStream[InstanceExportData_Request, InstanceExportData_Reply]{ClientStream: stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_InstanceExportDataClient = grpc.ServerStreamingClient[InstanceExportData_Reply]

func (c *messengerServiceClient) MessageSearch(ctx context.Context, in *MessageSearch_Request, opts ...grpc.CallOption) (*MessageSearch_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(MessageSearch_Reply)
	err := c.cc.Invoke(ctx, MessengerService_MessageSearch_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) ListMemberDevices(ctx context.Context, in *ListMemberDevices_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[ListMemberDevices_Reply], error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	stream, err := c.cc.NewStream(ctx, &MessengerService_ServiceDesc.Streams[6], MessengerService_ListMemberDevices_FullMethodName, cOpts...)
	if err != nil {
		return nil, err
	}
	x := &grpc.GenericClientStream[ListMemberDevices_Request, ListMemberDevices_Reply]{ClientStream: stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_ListMemberDevicesClient = grpc.ServerStreamingClient[ListMemberDevices_Reply]

func (c *messengerServiceClient) TyberHostSearch(ctx context.Context, in *TyberHostSearch_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[TyberHostSearch_Reply], error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	stream, err := c.cc.NewStream(ctx, &MessengerService_ServiceDesc.Streams[7], MessengerService_TyberHostSearch_FullMethodName, cOpts...)
	if err != nil {
		return nil, err
	}
	x := &grpc.GenericClientStream[TyberHostSearch_Request, TyberHostSearch_Reply]{ClientStream: stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_TyberHostSearchClient = grpc.ServerStreamingClient[TyberHostSearch_Reply]

func (c *messengerServiceClient) TyberHostAttach(ctx context.Context, in *TyberHostAttach_Request, opts ...grpc.CallOption) (*TyberHostAttach_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(TyberHostAttach_Reply)
	err := c.cc.Invoke(ctx, MessengerService_TyberHostAttach_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) DebugAuthServiceSetToken(ctx context.Context, in *DebugAuthServiceSetToken_Request, opts ...grpc.CallOption) (*DebugAuthServiceSetToken_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(DebugAuthServiceSetToken_Reply)
	err := c.cc.Invoke(ctx, MessengerService_DebugAuthServiceSetToken_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) ServicesTokenList(ctx context.Context, in *ServicesTokenList_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[ServicesTokenList_Reply], error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	stream, err := c.cc.NewStream(ctx, &MessengerService_ServiceDesc.Streams[8], MessengerService_ServicesTokenList_FullMethodName, cOpts...)
	if err != nil {
		return nil, err
	}
	x := &grpc.GenericClientStream[ServicesTokenList_Request, ServicesTokenList_Reply]{ClientStream: stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_ServicesTokenListClient = grpc.ServerStreamingClient[ServicesTokenList_Reply]

func (c *messengerServiceClient) AuthServiceInitFlow(ctx context.Context, in *AuthServiceInitFlow_Request, opts ...grpc.CallOption) (*AuthServiceInitFlow_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(AuthServiceInitFlow_Reply)
	err := c.cc.Invoke(ctx, MessengerService_AuthServiceInitFlow_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) AuthServiceCompleteFlow(ctx context.Context, in *AuthServiceCompleteFlow_Request, opts ...grpc.CallOption) (*AuthServiceCompleteFlow_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(AuthServiceCompleteFlow_Reply)
	err := c.cc.Invoke(ctx, MessengerService_AuthServiceCompleteFlow_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) PushSetAutoShare(ctx context.Context, in *PushSetAutoShare_Request, opts ...grpc.CallOption) (*PushSetAutoShare_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(PushSetAutoShare_Reply)
	err := c.cc.Invoke(ctx, MessengerService_PushSetAutoShare_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) PushShareTokenForConversation(ctx context.Context, in *PushShareTokenForConversation_Request, opts ...grpc.CallOption) (*PushShareTokenForConversation_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(PushShareTokenForConversation_Reply)
	err := c.cc.Invoke(ctx, MessengerService_PushShareTokenForConversation_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) PushTokenSharedForConversation(ctx context.Context, in *PushTokenSharedForConversation_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[PushTokenSharedForConversation_Reply], error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	stream, err := c.cc.NewStream(ctx, &MessengerService_ServiceDesc.Streams[9], MessengerService_PushTokenSharedForConversation_FullMethodName, cOpts...)
	if err != nil {
		return nil, err
	}
	x := &grpc.GenericClientStream[PushTokenSharedForConversation_Request, PushTokenSharedForConversation_Reply]{ClientStream: stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_PushTokenSharedForConversationClient = grpc.ServerStreamingClient[PushTokenSharedForConversation_Reply]

func (c *messengerServiceClient) PushReceive(ctx context.Context, in *PushReceive_Request, opts ...grpc.CallOption) (*PushReceive_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(PushReceive_Reply)
	err := c.cc.Invoke(ctx, MessengerService_PushReceive_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) PushSend(ctx context.Context, in *PushSend_Request, opts ...grpc.CallOption) (*PushSend_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(PushSend_Reply)
	err := c.cc.Invoke(ctx, MessengerService_PushSend_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) PushSetDeviceToken(ctx context.Context, in *PushSetDeviceToken_Request, opts ...grpc.CallOption) (*PushSetDeviceToken_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(PushSetDeviceToken_Reply)
	err := c.cc.Invoke(ctx, MessengerService_PushSetDeviceToken_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) PushSetServer(ctx context.Context, in *PushSetServer_Request, opts ...grpc.CallOption) (*PushSetServer_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(PushSetServer_Reply)
	err := c.cc.Invoke(ctx, MessengerService_PushSetServer_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) DirectoryServiceRegister(ctx context.Context, in *DirectoryServiceRegister_Request, opts ...grpc.CallOption) (*DirectoryServiceRegister_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(DirectoryServiceRegister_Reply)
	err := c.cc.Invoke(ctx, MessengerService_DirectoryServiceRegister_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) DirectoryServiceUnregister(ctx context.Context, in *DirectoryServiceUnregister_Request, opts ...grpc.CallOption) (*DirectoryServiceUnregister_Reply, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(DirectoryServiceUnregister_Reply)
	err := c.cc.Invoke(ctx, MessengerService_DirectoryServiceUnregister_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *messengerServiceClient) DirectoryServiceQuery(ctx context.Context, in *DirectoryServiceQuery_Request, opts ...grpc.CallOption) (grpc.ServerStreamingClient[DirectoryServiceQuery_Reply], error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	stream, err := c.cc.NewStream(ctx, &MessengerService_ServiceDesc.Streams[10], MessengerService_DirectoryServiceQuery_FullMethodName, cOpts...)
	if err != nil {
		return nil, err
	}
	x := &grpc.GenericClientStream[DirectoryServiceQuery_Request, DirectoryServiceQuery_Reply]{ClientStream: stream}
	if err := x.ClientStream.SendMsg(in); err != nil {
		return nil, err
	}
	if err := x.ClientStream.CloseSend(); err != nil {
		return nil, err
	}
	return x, nil
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_DirectoryServiceQueryClient = grpc.ServerStreamingClient[DirectoryServiceQuery_Reply]

// MessengerServiceServer is the server API for MessengerService service.
// All implementations must embed UnimplementedMessengerServiceServer
// for forward compatibility.
//
// MessengerService is the top-level API that uses the weshnet.protocol to implement the Berty Messenger specific logic.
// Today, most of the Berty Messenger logic is implemented directly in the application (see the /js folder of this repo).
type MessengerServiceServer interface {
	// InstanceShareableBertyID returns a Berty ID that can be shared as a string, QR code or deep link.
	InstanceShareableBertyID(context.Context, *InstanceShareableBertyID_Request) (*InstanceShareableBertyID_Reply, error)
	// ShareableBertyGroup returns a Berty Group that can be shared as a string, QR code or deep link.
	ShareableBertyGroup(context.Context, *ShareableBertyGroup_Request) (*ShareableBertyGroup_Reply, error)
	// DevShareInstanceBertyID shares your Berty ID on a dev channel.
	// TODO: remove for public.
	DevShareInstanceBertyID(context.Context, *DevShareInstanceBertyID_Request) (*DevShareInstanceBertyID_Reply, error)
	// DevStreamLogs streams logs from the ring-buffer.
	DevStreamLogs(*DevStreamLogs_Request, grpc.ServerStreamingServer[DevStreamLogs_Reply]) error
	// ParseDeepLink parses a link in the form of berty://xxx or https://berty.tech/id# and returns a structure
	// that can be used to display information.
	// This action is read-only.
	ParseDeepLink(context.Context, *ParseDeepLink_Request) (*ParseDeepLink_Reply, error)
	// SendContactRequest takes the payload received from ParseDeepLink and send a contact request using the weshnet.protocol.
	SendContactRequest(context.Context, *SendContactRequest_Request) (*SendContactRequest_Reply, error)
	// SystemInfo returns runtime information.
	SystemInfo(context.Context, *SystemInfo_Request) (*SystemInfo_Reply, error)
	// Use to test stream.
	EchoTest(*EchoTest_Request, grpc.ServerStreamingServer[EchoTest_Reply]) error
	// Use to test duplex stream.
	EchoDuplexTest(grpc.BidiStreamingServer[EchoDuplexTest_Request, EchoDuplexTest_Reply]) error
	ConversationStream(*ConversationStream_Request, grpc.ServerStreamingServer[ConversationStream_Reply]) error
	EventStream(*EventStream_Request, grpc.ServerStreamingServer[EventStream_Reply]) error
	ConversationCreate(context.Context, *ConversationCreate_Request) (*ConversationCreate_Reply, error)
	ConversationJoin(context.Context, *ConversationJoin_Request) (*ConversationJoin_Reply, error)
	AccountGet(context.Context, *AccountGet_Request) (*AccountGet_Reply, error)
	AccountUpdate(context.Context, *AccountUpdate_Request) (*AccountUpdate_Reply, error)
	AccountPushConfigure(context.Context, *AccountPushConfigure_Request) (*AccountPushConfigure_Reply, error)
	ContactRequest(context.Context, *ContactRequest_Request) (*ContactRequest_Reply, error)
	ContactAccept(context.Context, *ContactAccept_Request) (*ContactAccept_Reply, error)
	Interact(context.Context, *Interact_Request) (*Interact_Reply, error)
	ConversationOpen(context.Context, *ConversationOpen_Request) (*ConversationOpen_Reply, error)
	ConversationClose(context.Context, *ConversationClose_Request) (*ConversationClose_Reply, error)
	ConversationLoad(context.Context, *ConversationLoad_Request) (*ConversationLoad_Reply, error)
	ConversationMute(context.Context, *ConversationMute_Request) (*ConversationMute_Reply, error)
	// ReplicationServiceRegisterGroup Asks a replication service to distribute a group contents
	ReplicationServiceRegisterGroup(context.Context, *ReplicationServiceRegisterGroup_Request) (*ReplicationServiceRegisterGroup_Reply, error)
	// ReplicationSetAutoEnable Sets whether new groups should be replicated automatically or not
	ReplicationSetAutoEnable(context.Context, *ReplicationSetAutoEnable_Request) (*ReplicationSetAutoEnable_Reply, error)
	// BannerQuote returns the quote of the day.
	BannerQuote(context.Context, *BannerQuote_Request) (*BannerQuote_Reply, error)
	// InstanceExportData exports instance data
	InstanceExportData(*InstanceExportData_Request, grpc.ServerStreamingServer[InstanceExportData_Reply]) error
	// MessageSearch
	MessageSearch(context.Context, *MessageSearch_Request) (*MessageSearch_Reply, error)
	// ListMemberDevices Lists devices for a member
	ListMemberDevices(*ListMemberDevices_Request, grpc.ServerStreamingServer[ListMemberDevices_Reply]) error
	// TyberHostSearch
	TyberHostSearch(*TyberHostSearch_Request, grpc.ServerStreamingServer[TyberHostSearch_Reply]) error
	// TyberHostAttach
	TyberHostAttach(context.Context, *TyberHostAttach_Request) (*TyberHostAttach_Reply, error)
	// DebugAuthServiceSetToken sets the service token directly without using the PKCE OAuth 2 token issuer
	DebugAuthServiceSetToken(context.Context, *DebugAuthServiceSetToken_Request) (*DebugAuthServiceSetToken_Reply, error)
	// ServicesTokenList Retrieves the list of service server tokens
	ServicesTokenList(*ServicesTokenList_Request, grpc.ServerStreamingServer[ServicesTokenList_Reply]) error
	// AuthServiceInitFlow Initialize an authentication flow
	AuthServiceInitFlow(context.Context, *AuthServiceInitFlow_Request) (*AuthServiceInitFlow_Reply, error)
	// AuthServiceCompleteFlow Completes an authentication flow
	AuthServiceCompleteFlow(context.Context, *AuthServiceCompleteFlow_Request) (*AuthServiceCompleteFlow_Reply, error)
	// PushSetAutoShare Sets whether new groups should receive our push token automatically or not
	PushSetAutoShare(context.Context, *PushSetAutoShare_Request) (*PushSetAutoShare_Reply, error)
	// PushShareTokenForConversation Share a push token for a conversation
	PushShareTokenForConversation(context.Context, *PushShareTokenForConversation_Request) (*PushShareTokenForConversation_Reply, error)
	// PushTokenSharedForConversation
	PushTokenSharedForConversation(*PushTokenSharedForConversation_Request, grpc.ServerStreamingServer[PushTokenSharedForConversation_Reply]) error
	// PushReceive handles a push payload, decrypts it if possible, adds it to the local store
	PushReceive(context.Context, *PushReceive_Request) (*PushReceive_Reply, error)
	// PushSend sends a push payload to a specified list of group members
	PushSend(context.Context, *PushSend_Request) (*PushSend_Reply, error)
	// PushSetDeviceToken registers a push token for the current device
	PushSetDeviceToken(context.Context, *PushSetDeviceToken_Request) (*PushSetDeviceToken_Reply, error)
	// PushSetServer registers a push server for the current device
	PushSetServer(context.Context, *PushSetServer_Request) (*PushSetServer_Reply, error)
	// DirectoryServiceRegister registers a verified credential on a directory service
	DirectoryServiceRegister(context.Context, *DirectoryServiceRegister_Request) (*DirectoryServiceRegister_Reply, error)
	// DirectoryServiceUnregister requests a directory service to remove a verified credential
	DirectoryServiceUnregister(context.Context, *DirectoryServiceUnregister_Request) (*DirectoryServiceUnregister_Reply, error)
	// DirectoryServiceQuery queries a directory service for given identifiers
	DirectoryServiceQuery(*DirectoryServiceQuery_Request, grpc.ServerStreamingServer[DirectoryServiceQuery_Reply]) error
	mustEmbedUnimplementedMessengerServiceServer()
}

// UnimplementedMessengerServiceServer must be embedded to have
// forward compatible implementations.
//
// NOTE: this should be embedded by value instead of pointer to avoid a nil
// pointer dereference when methods are called.
type UnimplementedMessengerServiceServer struct{}

func (UnimplementedMessengerServiceServer) InstanceShareableBertyID(context.Context, *InstanceShareableBertyID_Request) (*InstanceShareableBertyID_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method InstanceShareableBertyID not implemented")
}
func (UnimplementedMessengerServiceServer) ShareableBertyGroup(context.Context, *ShareableBertyGroup_Request) (*ShareableBertyGroup_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ShareableBertyGroup not implemented")
}
func (UnimplementedMessengerServiceServer) DevShareInstanceBertyID(context.Context, *DevShareInstanceBertyID_Request) (*DevShareInstanceBertyID_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DevShareInstanceBertyID not implemented")
}
func (UnimplementedMessengerServiceServer) DevStreamLogs(*DevStreamLogs_Request, grpc.ServerStreamingServer[DevStreamLogs_Reply]) error {
	return status.Errorf(codes.Unimplemented, "method DevStreamLogs not implemented")
}
func (UnimplementedMessengerServiceServer) ParseDeepLink(context.Context, *ParseDeepLink_Request) (*ParseDeepLink_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ParseDeepLink not implemented")
}
func (UnimplementedMessengerServiceServer) SendContactRequest(context.Context, *SendContactRequest_Request) (*SendContactRequest_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SendContactRequest not implemented")
}
func (UnimplementedMessengerServiceServer) SystemInfo(context.Context, *SystemInfo_Request) (*SystemInfo_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method SystemInfo not implemented")
}
func (UnimplementedMessengerServiceServer) EchoTest(*EchoTest_Request, grpc.ServerStreamingServer[EchoTest_Reply]) error {
	return status.Errorf(codes.Unimplemented, "method EchoTest not implemented")
}
func (UnimplementedMessengerServiceServer) EchoDuplexTest(grpc.BidiStreamingServer[EchoDuplexTest_Request, EchoDuplexTest_Reply]) error {
	return status.Errorf(codes.Unimplemented, "method EchoDuplexTest not implemented")
}
func (UnimplementedMessengerServiceServer) ConversationStream(*ConversationStream_Request, grpc.ServerStreamingServer[ConversationStream_Reply]) error {
	return status.Errorf(codes.Unimplemented, "method ConversationStream not implemented")
}
func (UnimplementedMessengerServiceServer) EventStream(*EventStream_Request, grpc.ServerStreamingServer[EventStream_Reply]) error {
	return status.Errorf(codes.Unimplemented, "method EventStream not implemented")
}
func (UnimplementedMessengerServiceServer) ConversationCreate(context.Context, *ConversationCreate_Request) (*ConversationCreate_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ConversationCreate not implemented")
}
func (UnimplementedMessengerServiceServer) ConversationJoin(context.Context, *ConversationJoin_Request) (*ConversationJoin_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ConversationJoin not implemented")
}
func (UnimplementedMessengerServiceServer) AccountGet(context.Context, *AccountGet_Request) (*AccountGet_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AccountGet not implemented")
}
func (UnimplementedMessengerServiceServer) AccountUpdate(context.Context, *AccountUpdate_Request) (*AccountUpdate_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AccountUpdate not implemented")
}
func (UnimplementedMessengerServiceServer) AccountPushConfigure(context.Context, *AccountPushConfigure_Request) (*AccountPushConfigure_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AccountPushConfigure not implemented")
}
func (UnimplementedMessengerServiceServer) ContactRequest(context.Context, *ContactRequest_Request) (*ContactRequest_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ContactRequest not implemented")
}
func (UnimplementedMessengerServiceServer) ContactAccept(context.Context, *ContactAccept_Request) (*ContactAccept_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ContactAccept not implemented")
}
func (UnimplementedMessengerServiceServer) Interact(context.Context, *Interact_Request) (*Interact_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method Interact not implemented")
}
func (UnimplementedMessengerServiceServer) ConversationOpen(context.Context, *ConversationOpen_Request) (*ConversationOpen_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ConversationOpen not implemented")
}
func (UnimplementedMessengerServiceServer) ConversationClose(context.Context, *ConversationClose_Request) (*ConversationClose_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ConversationClose not implemented")
}
func (UnimplementedMessengerServiceServer) ConversationLoad(context.Context, *ConversationLoad_Request) (*ConversationLoad_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ConversationLoad not implemented")
}
func (UnimplementedMessengerServiceServer) ConversationMute(context.Context, *ConversationMute_Request) (*ConversationMute_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ConversationMute not implemented")
}
func (UnimplementedMessengerServiceServer) ReplicationServiceRegisterGroup(context.Context, *ReplicationServiceRegisterGroup_Request) (*ReplicationServiceRegisterGroup_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ReplicationServiceRegisterGroup not implemented")
}
func (UnimplementedMessengerServiceServer) ReplicationSetAutoEnable(context.Context, *ReplicationSetAutoEnable_Request) (*ReplicationSetAutoEnable_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ReplicationSetAutoEnable not implemented")
}
func (UnimplementedMessengerServiceServer) BannerQuote(context.Context, *BannerQuote_Request) (*BannerQuote_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method BannerQuote not implemented")
}
func (UnimplementedMessengerServiceServer) InstanceExportData(*InstanceExportData_Request, grpc.ServerStreamingServer[InstanceExportData_Reply]) error {
	return status.Errorf(codes.Unimplemented, "method InstanceExportData not implemented")
}
func (UnimplementedMessengerServiceServer) MessageSearch(context.Context, *MessageSearch_Request) (*MessageSearch_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method MessageSearch not implemented")
}
func (UnimplementedMessengerServiceServer) ListMemberDevices(*ListMemberDevices_Request, grpc.ServerStreamingServer[ListMemberDevices_Reply]) error {
	return status.Errorf(codes.Unimplemented, "method ListMemberDevices not implemented")
}
func (UnimplementedMessengerServiceServer) TyberHostSearch(*TyberHostSearch_Request, grpc.ServerStreamingServer[TyberHostSearch_Reply]) error {
	return status.Errorf(codes.Unimplemented, "method TyberHostSearch not implemented")
}
func (UnimplementedMessengerServiceServer) TyberHostAttach(context.Context, *TyberHostAttach_Request) (*TyberHostAttach_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method TyberHostAttach not implemented")
}
func (UnimplementedMessengerServiceServer) DebugAuthServiceSetToken(context.Context, *DebugAuthServiceSetToken_Request) (*DebugAuthServiceSetToken_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DebugAuthServiceSetToken not implemented")
}
func (UnimplementedMessengerServiceServer) ServicesTokenList(*ServicesTokenList_Request, grpc.ServerStreamingServer[ServicesTokenList_Reply]) error {
	return status.Errorf(codes.Unimplemented, "method ServicesTokenList not implemented")
}
func (UnimplementedMessengerServiceServer) AuthServiceInitFlow(context.Context, *AuthServiceInitFlow_Request) (*AuthServiceInitFlow_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AuthServiceInitFlow not implemented")
}
func (UnimplementedMessengerServiceServer) AuthServiceCompleteFlow(context.Context, *AuthServiceCompleteFlow_Request) (*AuthServiceCompleteFlow_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method AuthServiceCompleteFlow not implemented")
}
func (UnimplementedMessengerServiceServer) PushSetAutoShare(context.Context, *PushSetAutoShare_Request) (*PushSetAutoShare_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PushSetAutoShare not implemented")
}
func (UnimplementedMessengerServiceServer) PushShareTokenForConversation(context.Context, *PushShareTokenForConversation_Request) (*PushShareTokenForConversation_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PushShareTokenForConversation not implemented")
}
func (UnimplementedMessengerServiceServer) PushTokenSharedForConversation(*PushTokenSharedForConversation_Request, grpc.ServerStreamingServer[PushTokenSharedForConversation_Reply]) error {
	return status.Errorf(codes.Unimplemented, "method PushTokenSharedForConversation not implemented")
}
func (UnimplementedMessengerServiceServer) PushReceive(context.Context, *PushReceive_Request) (*PushReceive_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PushReceive not implemented")
}
func (UnimplementedMessengerServiceServer) PushSend(context.Context, *PushSend_Request) (*PushSend_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PushSend not implemented")
}
func (UnimplementedMessengerServiceServer) PushSetDeviceToken(context.Context, *PushSetDeviceToken_Request) (*PushSetDeviceToken_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PushSetDeviceToken not implemented")
}
func (UnimplementedMessengerServiceServer) PushSetServer(context.Context, *PushSetServer_Request) (*PushSetServer_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PushSetServer not implemented")
}
func (UnimplementedMessengerServiceServer) DirectoryServiceRegister(context.Context, *DirectoryServiceRegister_Request) (*DirectoryServiceRegister_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DirectoryServiceRegister not implemented")
}
func (UnimplementedMessengerServiceServer) DirectoryServiceUnregister(context.Context, *DirectoryServiceUnregister_Request) (*DirectoryServiceUnregister_Reply, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DirectoryServiceUnregister not implemented")
}
func (UnimplementedMessengerServiceServer) DirectoryServiceQuery(*DirectoryServiceQuery_Request, grpc.ServerStreamingServer[DirectoryServiceQuery_Reply]) error {
	return status.Errorf(codes.Unimplemented, "method DirectoryServiceQuery not implemented")
}
func (UnimplementedMessengerServiceServer) mustEmbedUnimplementedMessengerServiceServer() {}
func (UnimplementedMessengerServiceServer) testEmbeddedByValue()                          {}

// UnsafeMessengerServiceServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to MessengerServiceServer will
// result in compilation errors.
type UnsafeMessengerServiceServer interface {
	mustEmbedUnimplementedMessengerServiceServer()
}

func RegisterMessengerServiceServer(s grpc.ServiceRegistrar, srv MessengerServiceServer) {
	// If the following call pancis, it indicates UnimplementedMessengerServiceServer was
	// embedded by pointer and is nil.  This will cause panics if an
	// unimplemented method is ever invoked, so we test this at initialization
	// time to prevent it from happening at runtime later due to I/O.
	if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
		t.testEmbeddedByValue()
	}
	s.RegisterService(&MessengerService_ServiceDesc, srv)
}

func _MessengerService_InstanceShareableBertyID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(InstanceShareableBertyID_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).InstanceShareableBertyID(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_InstanceShareableBertyID_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).InstanceShareableBertyID(ctx, req.(*InstanceShareableBertyID_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_ShareableBertyGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ShareableBertyGroup_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).ShareableBertyGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_ShareableBertyGroup_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).ShareableBertyGroup(ctx, req.(*ShareableBertyGroup_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_DevShareInstanceBertyID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DevShareInstanceBertyID_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).DevShareInstanceBertyID(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_DevShareInstanceBertyID_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).DevShareInstanceBertyID(ctx, req.(*DevShareInstanceBertyID_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_DevStreamLogs_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(DevStreamLogs_Request)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(MessengerServiceServer).DevStreamLogs(m, &grpc.GenericServerStream[DevStreamLogs_Request, DevStreamLogs_Reply]{ServerStream: stream})
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_DevStreamLogsServer = grpc.ServerStreamingServer[DevStreamLogs_Reply]

func _MessengerService_ParseDeepLink_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ParseDeepLink_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).ParseDeepLink(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_ParseDeepLink_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).ParseDeepLink(ctx, req.(*ParseDeepLink_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_SendContactRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SendContactRequest_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).SendContactRequest(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_SendContactRequest_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).SendContactRequest(ctx, req.(*SendContactRequest_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_SystemInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(SystemInfo_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).SystemInfo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_SystemInfo_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).SystemInfo(ctx, req.(*SystemInfo_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_EchoTest_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(EchoTest_Request)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(MessengerServiceServer).EchoTest(m, &grpc.GenericServerStream[EchoTest_Request, EchoTest_Reply]{ServerStream: stream})
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_EchoTestServer = grpc.ServerStreamingServer[EchoTest_Reply]

func _MessengerService_EchoDuplexTest_Handler(srv interface{}, stream grpc.ServerStream) error {
	return srv.(MessengerServiceServer).EchoDuplexTest(&grpc.GenericServerStream[EchoDuplexTest_Request, EchoDuplexTest_Reply]{ServerStream: stream})
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_EchoDuplexTestServer = grpc.BidiStreamingServer[EchoDuplexTest_Request, EchoDuplexTest_Reply]

func _MessengerService_ConversationStream_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(ConversationStream_Request)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(MessengerServiceServer).ConversationStream(m, &grpc.GenericServerStream[ConversationStream_Request, ConversationStream_Reply]{ServerStream: stream})
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_ConversationStreamServer = grpc.ServerStreamingServer[ConversationStream_Reply]

func _MessengerService_EventStream_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(EventStream_Request)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(MessengerServiceServer).EventStream(m, &grpc.GenericServerStream[EventStream_Request, EventStream_Reply]{ServerStream: stream})
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_EventStreamServer = grpc.ServerStreamingServer[EventStream_Reply]

func _MessengerService_ConversationCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ConversationCreate_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).ConversationCreate(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_ConversationCreate_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).ConversationCreate(ctx, req.(*ConversationCreate_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_ConversationJoin_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ConversationJoin_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).ConversationJoin(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_ConversationJoin_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).ConversationJoin(ctx, req.(*ConversationJoin_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_AccountGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountGet_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).AccountGet(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_AccountGet_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).AccountGet(ctx, req.(*AccountGet_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_AccountUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountUpdate_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).AccountUpdate(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_AccountUpdate_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).AccountUpdate(ctx, req.(*AccountUpdate_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_AccountPushConfigure_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AccountPushConfigure_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).AccountPushConfigure(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_AccountPushConfigure_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).AccountPushConfigure(ctx, req.(*AccountPushConfigure_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_ContactRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ContactRequest_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).ContactRequest(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_ContactRequest_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).ContactRequest(ctx, req.(*ContactRequest_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_ContactAccept_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ContactAccept_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).ContactAccept(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_ContactAccept_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).ContactAccept(ctx, req.(*ContactAccept_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_Interact_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(Interact_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).Interact(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_Interact_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).Interact(ctx, req.(*Interact_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_ConversationOpen_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ConversationOpen_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).ConversationOpen(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_ConversationOpen_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).ConversationOpen(ctx, req.(*ConversationOpen_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_ConversationClose_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ConversationClose_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).ConversationClose(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_ConversationClose_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).ConversationClose(ctx, req.(*ConversationClose_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_ConversationLoad_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ConversationLoad_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).ConversationLoad(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_ConversationLoad_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).ConversationLoad(ctx, req.(*ConversationLoad_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_ConversationMute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ConversationMute_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).ConversationMute(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_ConversationMute_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).ConversationMute(ctx, req.(*ConversationMute_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_ReplicationServiceRegisterGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReplicationServiceRegisterGroup_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).ReplicationServiceRegisterGroup(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_ReplicationServiceRegisterGroup_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).ReplicationServiceRegisterGroup(ctx, req.(*ReplicationServiceRegisterGroup_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_ReplicationSetAutoEnable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ReplicationSetAutoEnable_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).ReplicationSetAutoEnable(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_ReplicationSetAutoEnable_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).ReplicationSetAutoEnable(ctx, req.(*ReplicationSetAutoEnable_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_BannerQuote_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(BannerQuote_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).BannerQuote(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_BannerQuote_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).BannerQuote(ctx, req.(*BannerQuote_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_InstanceExportData_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(InstanceExportData_Request)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(MessengerServiceServer).InstanceExportData(m, &grpc.GenericServerStream[InstanceExportData_Request, InstanceExportData_Reply]{ServerStream: stream})
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_InstanceExportDataServer = grpc.ServerStreamingServer[InstanceExportData_Reply]

func _MessengerService_MessageSearch_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(MessageSearch_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).MessageSearch(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_MessageSearch_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).MessageSearch(ctx, req.(*MessageSearch_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_ListMemberDevices_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(ListMemberDevices_Request)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(MessengerServiceServer).ListMemberDevices(m, &grpc.GenericServerStream[ListMemberDevices_Request, ListMemberDevices_Reply]{ServerStream: stream})
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_ListMemberDevicesServer = grpc.ServerStreamingServer[ListMemberDevices_Reply]

func _MessengerService_TyberHostSearch_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(TyberHostSearch_Request)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(MessengerServiceServer).TyberHostSearch(m, &grpc.GenericServerStream[TyberHostSearch_Request, TyberHostSearch_Reply]{ServerStream: stream})
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_TyberHostSearchServer = grpc.ServerStreamingServer[TyberHostSearch_Reply]

func _MessengerService_TyberHostAttach_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(TyberHostAttach_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).TyberHostAttach(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_TyberHostAttach_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).TyberHostAttach(ctx, req.(*TyberHostAttach_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_DebugAuthServiceSetToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DebugAuthServiceSetToken_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).DebugAuthServiceSetToken(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_DebugAuthServiceSetToken_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).DebugAuthServiceSetToken(ctx, req.(*DebugAuthServiceSetToken_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_ServicesTokenList_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(ServicesTokenList_Request)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(MessengerServiceServer).ServicesTokenList(m, &grpc.GenericServerStream[ServicesTokenList_Request, ServicesTokenList_Reply]{ServerStream: stream})
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_ServicesTokenListServer = grpc.ServerStreamingServer[ServicesTokenList_Reply]

func _MessengerService_AuthServiceInitFlow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AuthServiceInitFlow_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).AuthServiceInitFlow(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_AuthServiceInitFlow_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).AuthServiceInitFlow(ctx, req.(*AuthServiceInitFlow_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_AuthServiceCompleteFlow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(AuthServiceCompleteFlow_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).AuthServiceCompleteFlow(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_AuthServiceCompleteFlow_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).AuthServiceCompleteFlow(ctx, req.(*AuthServiceCompleteFlow_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_PushSetAutoShare_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PushSetAutoShare_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).PushSetAutoShare(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_PushSetAutoShare_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).PushSetAutoShare(ctx, req.(*PushSetAutoShare_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_PushShareTokenForConversation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PushShareTokenForConversation_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).PushShareTokenForConversation(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_PushShareTokenForConversation_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).PushShareTokenForConversation(ctx, req.(*PushShareTokenForConversation_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_PushTokenSharedForConversation_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(PushTokenSharedForConversation_Request)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(MessengerServiceServer).PushTokenSharedForConversation(m, &grpc.GenericServerStream[PushTokenSharedForConversation_Request, PushTokenSharedForConversation_Reply]{ServerStream: stream})
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_PushTokenSharedForConversationServer = grpc.ServerStreamingServer[PushTokenSharedForConversation_Reply]

func _MessengerService_PushReceive_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PushReceive_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).PushReceive(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_PushReceive_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).PushReceive(ctx, req.(*PushReceive_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_PushSend_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PushSend_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).PushSend(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_PushSend_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).PushSend(ctx, req.(*PushSend_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_PushSetDeviceToken_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PushSetDeviceToken_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).PushSetDeviceToken(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_PushSetDeviceToken_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).PushSetDeviceToken(ctx, req.(*PushSetDeviceToken_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_PushSetServer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PushSetServer_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).PushSetServer(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_PushSetServer_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).PushSetServer(ctx, req.(*PushSetServer_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_DirectoryServiceRegister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DirectoryServiceRegister_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).DirectoryServiceRegister(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_DirectoryServiceRegister_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).DirectoryServiceRegister(ctx, req.(*DirectoryServiceRegister_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_DirectoryServiceUnregister_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DirectoryServiceUnregister_Request)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(MessengerServiceServer).DirectoryServiceUnregister(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: MessengerService_DirectoryServiceUnregister_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(MessengerServiceServer).DirectoryServiceUnregister(ctx, req.(*DirectoryServiceUnregister_Request))
	}
	return interceptor(ctx, in, info, handler)
}

func _MessengerService_DirectoryServiceQuery_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(DirectoryServiceQuery_Request)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(MessengerServiceServer).DirectoryServiceQuery(m, &grpc.GenericServerStream[DirectoryServiceQuery_Request, DirectoryServiceQuery_Reply]{ServerStream: stream})
}

// This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.
type MessengerService_DirectoryServiceQueryServer = grpc.ServerStreamingServer[DirectoryServiceQuery_Reply]

// MessengerService_ServiceDesc is the grpc.ServiceDesc for MessengerService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var MessengerService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "berty.messenger.v1.MessengerService",
	HandlerType: (*MessengerServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "InstanceShareableBertyID",
			Handler:    _MessengerService_InstanceShareableBertyID_Handler,
		},
		{
			MethodName: "ShareableBertyGroup",
			Handler:    _MessengerService_ShareableBertyGroup_Handler,
		},
		{
			MethodName: "DevShareInstanceBertyID",
			Handler:    _MessengerService_DevShareInstanceBertyID_Handler,
		},
		{
			MethodName: "ParseDeepLink",
			Handler:    _MessengerService_ParseDeepLink_Handler,
		},
		{
			MethodName: "SendContactRequest",
			Handler:    _MessengerService_SendContactRequest_Handler,
		},
		{
			MethodName: "SystemInfo",
			Handler:    _MessengerService_SystemInfo_Handler,
		},
		{
			MethodName: "ConversationCreate",
			Handler:    _MessengerService_ConversationCreate_Handler,
		},
		{
			MethodName: "ConversationJoin",
			Handler:    _MessengerService_ConversationJoin_Handler,
		},
		{
			MethodName: "AccountGet",
			Handler:    _MessengerService_AccountGet_Handler,
		},
		{
			MethodName: "AccountUpdate",
			Handler:    _MessengerService_AccountUpdate_Handler,
		},
		{
			MethodName: "AccountPushConfigure",
			Handler:    _MessengerService_AccountPushConfigure_Handler,
		},
		{
			MethodName: "ContactRequest",
			Handler:    _MessengerService_ContactRequest_Handler,
		},
		{
			MethodName: "ContactAccept",
			Handler:    _MessengerService_ContactAccept_Handler,
		},
		{
			MethodName: "Interact",
			Handler:    _MessengerService_Interact_Handler,
		},
		{
			MethodName: "ConversationOpen",
			Handler:    _MessengerService_ConversationOpen_Handler,
		},
		{
			MethodName: "ConversationClose",
			Handler:    _MessengerService_ConversationClose_Handler,
		},
		{
			MethodName: "ConversationLoad",
			Handler:    _MessengerService_ConversationLoad_Handler,
		},
		{
			MethodName: "ConversationMute",
			Handler:    _MessengerService_ConversationMute_Handler,
		},
		{
			MethodName: "ReplicationServiceRegisterGroup",
			Handler:    _MessengerService_ReplicationServiceRegisterGroup_Handler,
		},
		{
			MethodName: "ReplicationSetAutoEnable",
			Handler:    _MessengerService_ReplicationSetAutoEnable_Handler,
		},
		{
			MethodName: "BannerQuote",
			Handler:    _MessengerService_BannerQuote_Handler,
		},
		{
			MethodName: "MessageSearch",
			Handler:    _MessengerService_MessageSearch_Handler,
		},
		{
			MethodName: "TyberHostAttach",
			Handler:    _MessengerService_TyberHostAttach_Handler,
		},
		{
			MethodName: "DebugAuthServiceSetToken",
			Handler:    _MessengerService_DebugAuthServiceSetToken_Handler,
		},
		{
			MethodName: "AuthServiceInitFlow",
			Handler:    _MessengerService_AuthServiceInitFlow_Handler,
		},
		{
			MethodName: "AuthServiceCompleteFlow",
			Handler:    _MessengerService_AuthServiceCompleteFlow_Handler,
		},
		{
			MethodName: "PushSetAutoShare",
			Handler:    _MessengerService_PushSetAutoShare_Handler,
		},
		{
			MethodName: "PushShareTokenForConversation",
			Handler:    _MessengerService_PushShareTokenForConversation_Handler,
		},
		{
			MethodName: "PushReceive",
			Handler:    _MessengerService_PushReceive_Handler,
		},
		{
			MethodName: "PushSend",
			Handler:    _MessengerService_PushSend_Handler,
		},
		{
			MethodName: "PushSetDeviceToken",
			Handler:    _MessengerService_PushSetDeviceToken_Handler,
		},
		{
			MethodName: "PushSetServer",
			Handler:    _MessengerService_PushSetServer_Handler,
		},
		{
			MethodName: "DirectoryServiceRegister",
			Handler:    _MessengerService_DirectoryServiceRegister_Handler,
		},
		{
			MethodName: "DirectoryServiceUnregister",
			Handler:    _MessengerService_DirectoryServiceUnregister_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "DevStreamLogs",
			Handler:       _MessengerService_DevStreamLogs_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "EchoTest",
			Handler:       _MessengerService_EchoTest_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "EchoDuplexTest",
			Handler:       _MessengerService_EchoDuplexTest_Handler,
			ServerStreams: true,
			ClientStreams: true,
		},
		{
			StreamName:    "ConversationStream",
			Handler:       _MessengerService_ConversationStream_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "EventStream",
			Handler:       _MessengerService_EventStream_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "InstanceExportData",
			Handler:       _MessengerService_InstanceExportData_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ListMemberDevices",
			Handler:       _MessengerService_ListMemberDevices_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "TyberHostSearch",
			Handler:       _MessengerService_TyberHostSearch_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "ServicesTokenList",
			Handler:       _MessengerService_ServicesTokenList_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "PushTokenSharedForConversation",
			Handler:       _MessengerService_PushTokenSharedForConversation_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "DirectoryServiceQuery",
			Handler:       _MessengerService_DirectoryServiceQuery_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "messengertypes/messengertypes.proto",
}
