// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.5.1
// - protoc             v3.21.12
// source: kodex/interactions/v1/interaction_hub.proto

package interactionsv1

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 (
	InteractionHubService_CreateConversationThread_FullMethodName  = "/kodex.interactions.v1.InteractionHubService/CreateConversationThread"
	InteractionHubService_RecordConversationMessage_FullMethodName = "/kodex.interactions.v1.InteractionHubService/RecordConversationMessage"
	InteractionHubService_GetConversationThread_FullMethodName     = "/kodex.interactions.v1.InteractionHubService/GetConversationThread"
	InteractionHubService_ListConversationMessages_FullMethodName  = "/kodex.interactions.v1.InteractionHubService/ListConversationMessages"
	InteractionHubService_RequestFeedback_FullMethodName           = "/kodex.interactions.v1.InteractionHubService/RequestFeedback"
	InteractionHubService_RequestApproval_FullMethodName           = "/kodex.interactions.v1.InteractionHubService/RequestApproval"
	InteractionHubService_RequestHumanGate_FullMethodName          = "/kodex.interactions.v1.InteractionHubService/RequestHumanGate"
	InteractionHubService_RecordInteractionResponse_FullMethodName = "/kodex.interactions.v1.InteractionHubService/RecordInteractionResponse"
	InteractionHubService_CancelInteractionRequest_FullMethodName  = "/kodex.interactions.v1.InteractionHubService/CancelInteractionRequest"
	InteractionHubService_ExpireInteractionRequests_FullMethodName = "/kodex.interactions.v1.InteractionHubService/ExpireInteractionRequests"
	InteractionHubService_GetInteractionRequest_FullMethodName     = "/kodex.interactions.v1.InteractionHubService/GetInteractionRequest"
	InteractionHubService_ListInteractionRequests_FullMethodName   = "/kodex.interactions.v1.InteractionHubService/ListInteractionRequests"
	InteractionHubService_ListOwnerInboxItems_FullMethodName       = "/kodex.interactions.v1.InteractionHubService/ListOwnerInboxItems"
	InteractionHubService_GetOwnerInboxItem_FullMethodName         = "/kodex.interactions.v1.InteractionHubService/GetOwnerInboxItem"
	InteractionHubService_RequestNotification_FullMethodName       = "/kodex.interactions.v1.InteractionHubService/RequestNotification"
	InteractionHubService_UpsertSubscription_FullMethodName        = "/kodex.interactions.v1.InteractionHubService/UpsertSubscription"
	InteractionHubService_DisableSubscription_FullMethodName       = "/kodex.interactions.v1.InteractionHubService/DisableSubscription"
	InteractionHubService_ListSubscriptions_FullMethodName         = "/kodex.interactions.v1.InteractionHubService/ListSubscriptions"
	InteractionHubService_PlanDelivery_FullMethodName              = "/kodex.interactions.v1.InteractionHubService/PlanDelivery"
	InteractionHubService_RecordDeliveryResult_FullMethodName      = "/kodex.interactions.v1.InteractionHubService/RecordDeliveryResult"
	InteractionHubService_RecordChannelCallback_FullMethodName     = "/kodex.interactions.v1.InteractionHubService/RecordChannelCallback"
	InteractionHubService_GetDeliveryStatus_FullMethodName         = "/kodex.interactions.v1.InteractionHubService/GetDeliveryStatus"
)

// InteractionHubServiceClient is the client API for InteractionHubService 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.
//
// InteractionHubService is the stable v1 inter-service contract for human
// interaction lifecycle. It owns conversations, feedback and approval delivery,
// notifications, subscriptions, delivery attempts and safe channel callbacks.
// Business decision state stays with the owner service that requested the
// interaction.
type InteractionHubServiceClient interface {
	// CreateConversationThread creates a platform conversation thread.
	CreateConversationThread(ctx context.Context, in *CreateConversationThreadRequest, opts ...grpc.CallOption) (*ConversationThreadResponse, error)
	// RecordConversationMessage records a safe message summary in a thread.
	RecordConversationMessage(ctx context.Context, in *RecordConversationMessageRequest, opts ...grpc.CallOption) (*ConversationMessageResponse, error)
	// GetConversationThread returns authoritative thread state.
	GetConversationThread(ctx context.Context, in *GetConversationThreadRequest, opts ...grpc.CallOption) (*ConversationThreadResponse, error)
	// ListConversationMessages returns thread messages with pagination.
	ListConversationMessages(ctx context.Context, in *ListConversationMessagesRequest, opts ...grpc.CallOption) (*ListConversationMessagesResponse, error)
	// RequestFeedback creates a feedback request without choosing a concrete channel.
	RequestFeedback(ctx context.Context, in *RequestFeedbackRequest, opts ...grpc.CallOption) (*InteractionRequestResponse, error)
	// RequestApproval creates an approval delivery request for an owner service decision.
	RequestApproval(ctx context.Context, in *RequestApprovalRequest, opts ...grpc.CallOption) (*InteractionRequestResponse, error)
	// RequestHumanGate creates a Human gate delivery request for an owner service decision.
	RequestHumanGate(ctx context.Context, in *RequestHumanGateRequest, opts ...grpc.CallOption) (*InteractionRequestResponse, error)
	// RecordInteractionResponse records a human response and returns it to the owner service.
	RecordInteractionResponse(ctx context.Context, in *RecordInteractionResponseRequest, opts ...grpc.CallOption) (*InteractionResponseResponse, error)
	// CancelInteractionRequest cancels a request by owner command.
	CancelInteractionRequest(ctx context.Context, in *CancelInteractionRequestRequest, opts ...grpc.CallOption) (*InteractionRequestResponse, error)
	// ExpireInteractionRequests expires waiting requests by deadline.
	ExpireInteractionRequests(ctx context.Context, in *ExpireInteractionRequestsRequest, opts ...grpc.CallOption) (*ExpireInteractionRequestsResponse, error)
	// GetInteractionRequest returns authoritative request state.
	GetInteractionRequest(ctx context.Context, in *GetInteractionRequestRequest, opts ...grpc.CallOption) (*InteractionRequestResponse, error)
	// ListInteractionRequests returns requests by scope, kind, source owner and status.
	ListInteractionRequests(ctx context.Context, in *ListInteractionRequestsRequest, opts ...grpc.CallOption) (*ListInteractionRequestsResponse, error)
	// ListOwnerInboxItems returns a safe domain read surface for pending owner decisions and callback diagnostics.
	ListOwnerInboxItems(ctx context.Context, in *ListOwnerInboxItemsRequest, opts ...grpc.CallOption) (*ListOwnerInboxItemsResponse, error)
	// GetOwnerInboxItem returns one safe owner inbox item with delivery, callback and response summaries.
	GetOwnerInboxItem(ctx context.Context, in *GetOwnerInboxItemRequest, opts ...grpc.CallOption) (*OwnerInboxItemResponse, error)
	// RequestNotification creates a one-way notification or reminder intent.
	RequestNotification(ctx context.Context, in *RequestNotificationRequest, opts ...grpc.CallOption) (*NotificationResponse, error)
	// UpsertSubscription creates or updates a notification subscription.
	UpsertSubscription(ctx context.Context, in *UpsertSubscriptionRequest, opts ...grpc.CallOption) (*SubscriptionResponse, error)
	// DisableSubscription disables a subscription.
	DisableSubscription(ctx context.Context, in *DisableSubscriptionRequest, opts ...grpc.CallOption) (*SubscriptionResponse, error)
	// ListSubscriptions returns subscriptions by scope or subscriber.
	ListSubscriptions(ctx context.Context, in *ListSubscriptionsRequest, opts ...grpc.CallOption) (*ListSubscriptionsResponse, error)
	// PlanDelivery creates a delivery attempt for a request or notification.
	PlanDelivery(ctx context.Context, in *PlanDeliveryRequest, opts ...grpc.CallOption) (*DeliveryAttemptResponse, error)
	// RecordDeliveryResult records a safe result from the runtime/channel boundary.
	RecordDeliveryResult(ctx context.Context, in *RecordDeliveryResultRequest, opts ...grpc.CallOption) (*DeliveryAttemptResponse, error)
	// RecordChannelCallback records a sanitized callback envelope from a gateway.
	RecordChannelCallback(ctx context.Context, in *RecordChannelCallbackRequest, opts ...grpc.CallOption) (*ChannelCallbackResponse, error)
	// GetDeliveryStatus returns request, notification and delivery attempt status.
	GetDeliveryStatus(ctx context.Context, in *GetDeliveryStatusRequest, opts ...grpc.CallOption) (*DeliveryStatusResponse, error)
}

type interactionHubServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewInteractionHubServiceClient(cc grpc.ClientConnInterface) InteractionHubServiceClient {
	return &interactionHubServiceClient{cc}
}

func (c *interactionHubServiceClient) CreateConversationThread(ctx context.Context, in *CreateConversationThreadRequest, opts ...grpc.CallOption) (*ConversationThreadResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ConversationThreadResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_CreateConversationThread_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *interactionHubServiceClient) RecordConversationMessage(ctx context.Context, in *RecordConversationMessageRequest, opts ...grpc.CallOption) (*ConversationMessageResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ConversationMessageResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_RecordConversationMessage_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *interactionHubServiceClient) GetConversationThread(ctx context.Context, in *GetConversationThreadRequest, opts ...grpc.CallOption) (*ConversationThreadResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ConversationThreadResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_GetConversationThread_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *interactionHubServiceClient) ListConversationMessages(ctx context.Context, in *ListConversationMessagesRequest, opts ...grpc.CallOption) (*ListConversationMessagesResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ListConversationMessagesResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_ListConversationMessages_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *interactionHubServiceClient) RequestFeedback(ctx context.Context, in *RequestFeedbackRequest, opts ...grpc.CallOption) (*InteractionRequestResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(InteractionRequestResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_RequestFeedback_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *interactionHubServiceClient) RequestApproval(ctx context.Context, in *RequestApprovalRequest, opts ...grpc.CallOption) (*InteractionRequestResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(InteractionRequestResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_RequestApproval_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *interactionHubServiceClient) RequestHumanGate(ctx context.Context, in *RequestHumanGateRequest, opts ...grpc.CallOption) (*InteractionRequestResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(InteractionRequestResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_RequestHumanGate_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *interactionHubServiceClient) RecordInteractionResponse(ctx context.Context, in *RecordInteractionResponseRequest, opts ...grpc.CallOption) (*InteractionResponseResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(InteractionResponseResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_RecordInteractionResponse_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *interactionHubServiceClient) CancelInteractionRequest(ctx context.Context, in *CancelInteractionRequestRequest, opts ...grpc.CallOption) (*InteractionRequestResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(InteractionRequestResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_CancelInteractionRequest_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *interactionHubServiceClient) ExpireInteractionRequests(ctx context.Context, in *ExpireInteractionRequestsRequest, opts ...grpc.CallOption) (*ExpireInteractionRequestsResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ExpireInteractionRequestsResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_ExpireInteractionRequests_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *interactionHubServiceClient) GetInteractionRequest(ctx context.Context, in *GetInteractionRequestRequest, opts ...grpc.CallOption) (*InteractionRequestResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(InteractionRequestResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_GetInteractionRequest_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *interactionHubServiceClient) ListInteractionRequests(ctx context.Context, in *ListInteractionRequestsRequest, opts ...grpc.CallOption) (*ListInteractionRequestsResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ListInteractionRequestsResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_ListInteractionRequests_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *interactionHubServiceClient) ListOwnerInboxItems(ctx context.Context, in *ListOwnerInboxItemsRequest, opts ...grpc.CallOption) (*ListOwnerInboxItemsResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ListOwnerInboxItemsResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_ListOwnerInboxItems_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *interactionHubServiceClient) GetOwnerInboxItem(ctx context.Context, in *GetOwnerInboxItemRequest, opts ...grpc.CallOption) (*OwnerInboxItemResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(OwnerInboxItemResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_GetOwnerInboxItem_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *interactionHubServiceClient) RequestNotification(ctx context.Context, in *RequestNotificationRequest, opts ...grpc.CallOption) (*NotificationResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(NotificationResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_RequestNotification_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *interactionHubServiceClient) UpsertSubscription(ctx context.Context, in *UpsertSubscriptionRequest, opts ...grpc.CallOption) (*SubscriptionResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(SubscriptionResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_UpsertSubscription_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *interactionHubServiceClient) DisableSubscription(ctx context.Context, in *DisableSubscriptionRequest, opts ...grpc.CallOption) (*SubscriptionResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(SubscriptionResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_DisableSubscription_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *interactionHubServiceClient) ListSubscriptions(ctx context.Context, in *ListSubscriptionsRequest, opts ...grpc.CallOption) (*ListSubscriptionsResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ListSubscriptionsResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_ListSubscriptions_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *interactionHubServiceClient) PlanDelivery(ctx context.Context, in *PlanDeliveryRequest, opts ...grpc.CallOption) (*DeliveryAttemptResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(DeliveryAttemptResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_PlanDelivery_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *interactionHubServiceClient) RecordDeliveryResult(ctx context.Context, in *RecordDeliveryResultRequest, opts ...grpc.CallOption) (*DeliveryAttemptResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(DeliveryAttemptResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_RecordDeliveryResult_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *interactionHubServiceClient) RecordChannelCallback(ctx context.Context, in *RecordChannelCallbackRequest, opts ...grpc.CallOption) (*ChannelCallbackResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(ChannelCallbackResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_RecordChannelCallback_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *interactionHubServiceClient) GetDeliveryStatus(ctx context.Context, in *GetDeliveryStatusRequest, opts ...grpc.CallOption) (*DeliveryStatusResponse, error) {
	cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
	out := new(DeliveryStatusResponse)
	err := c.cc.Invoke(ctx, InteractionHubService_GetDeliveryStatus_FullMethodName, in, out, cOpts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// InteractionHubServiceServer is the server API for InteractionHubService service.
// All implementations must embed UnimplementedInteractionHubServiceServer
// for forward compatibility.
//
// InteractionHubService is the stable v1 inter-service contract for human
// interaction lifecycle. It owns conversations, feedback and approval delivery,
// notifications, subscriptions, delivery attempts and safe channel callbacks.
// Business decision state stays with the owner service that requested the
// interaction.
type InteractionHubServiceServer interface {
	// CreateConversationThread creates a platform conversation thread.
	CreateConversationThread(context.Context, *CreateConversationThreadRequest) (*ConversationThreadResponse, error)
	// RecordConversationMessage records a safe message summary in a thread.
	RecordConversationMessage(context.Context, *RecordConversationMessageRequest) (*ConversationMessageResponse, error)
	// GetConversationThread returns authoritative thread state.
	GetConversationThread(context.Context, *GetConversationThreadRequest) (*ConversationThreadResponse, error)
	// ListConversationMessages returns thread messages with pagination.
	ListConversationMessages(context.Context, *ListConversationMessagesRequest) (*ListConversationMessagesResponse, error)
	// RequestFeedback creates a feedback request without choosing a concrete channel.
	RequestFeedback(context.Context, *RequestFeedbackRequest) (*InteractionRequestResponse, error)
	// RequestApproval creates an approval delivery request for an owner service decision.
	RequestApproval(context.Context, *RequestApprovalRequest) (*InteractionRequestResponse, error)
	// RequestHumanGate creates a Human gate delivery request for an owner service decision.
	RequestHumanGate(context.Context, *RequestHumanGateRequest) (*InteractionRequestResponse, error)
	// RecordInteractionResponse records a human response and returns it to the owner service.
	RecordInteractionResponse(context.Context, *RecordInteractionResponseRequest) (*InteractionResponseResponse, error)
	// CancelInteractionRequest cancels a request by owner command.
	CancelInteractionRequest(context.Context, *CancelInteractionRequestRequest) (*InteractionRequestResponse, error)
	// ExpireInteractionRequests expires waiting requests by deadline.
	ExpireInteractionRequests(context.Context, *ExpireInteractionRequestsRequest) (*ExpireInteractionRequestsResponse, error)
	// GetInteractionRequest returns authoritative request state.
	GetInteractionRequest(context.Context, *GetInteractionRequestRequest) (*InteractionRequestResponse, error)
	// ListInteractionRequests returns requests by scope, kind, source owner and status.
	ListInteractionRequests(context.Context, *ListInteractionRequestsRequest) (*ListInteractionRequestsResponse, error)
	// ListOwnerInboxItems returns a safe domain read surface for pending owner decisions and callback diagnostics.
	ListOwnerInboxItems(context.Context, *ListOwnerInboxItemsRequest) (*ListOwnerInboxItemsResponse, error)
	// GetOwnerInboxItem returns one safe owner inbox item with delivery, callback and response summaries.
	GetOwnerInboxItem(context.Context, *GetOwnerInboxItemRequest) (*OwnerInboxItemResponse, error)
	// RequestNotification creates a one-way notification or reminder intent.
	RequestNotification(context.Context, *RequestNotificationRequest) (*NotificationResponse, error)
	// UpsertSubscription creates or updates a notification subscription.
	UpsertSubscription(context.Context, *UpsertSubscriptionRequest) (*SubscriptionResponse, error)
	// DisableSubscription disables a subscription.
	DisableSubscription(context.Context, *DisableSubscriptionRequest) (*SubscriptionResponse, error)
	// ListSubscriptions returns subscriptions by scope or subscriber.
	ListSubscriptions(context.Context, *ListSubscriptionsRequest) (*ListSubscriptionsResponse, error)
	// PlanDelivery creates a delivery attempt for a request or notification.
	PlanDelivery(context.Context, *PlanDeliveryRequest) (*DeliveryAttemptResponse, error)
	// RecordDeliveryResult records a safe result from the runtime/channel boundary.
	RecordDeliveryResult(context.Context, *RecordDeliveryResultRequest) (*DeliveryAttemptResponse, error)
	// RecordChannelCallback records a sanitized callback envelope from a gateway.
	RecordChannelCallback(context.Context, *RecordChannelCallbackRequest) (*ChannelCallbackResponse, error)
	// GetDeliveryStatus returns request, notification and delivery attempt status.
	GetDeliveryStatus(context.Context, *GetDeliveryStatusRequest) (*DeliveryStatusResponse, error)
	mustEmbedUnimplementedInteractionHubServiceServer()
}

// UnimplementedInteractionHubServiceServer 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 UnimplementedInteractionHubServiceServer struct{}

func (UnimplementedInteractionHubServiceServer) CreateConversationThread(context.Context, *CreateConversationThreadRequest) (*ConversationThreadResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateConversationThread not implemented")
}
func (UnimplementedInteractionHubServiceServer) RecordConversationMessage(context.Context, *RecordConversationMessageRequest) (*ConversationMessageResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RecordConversationMessage not implemented")
}
func (UnimplementedInteractionHubServiceServer) GetConversationThread(context.Context, *GetConversationThreadRequest) (*ConversationThreadResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetConversationThread not implemented")
}
func (UnimplementedInteractionHubServiceServer) ListConversationMessages(context.Context, *ListConversationMessagesRequest) (*ListConversationMessagesResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListConversationMessages not implemented")
}
func (UnimplementedInteractionHubServiceServer) RequestFeedback(context.Context, *RequestFeedbackRequest) (*InteractionRequestResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RequestFeedback not implemented")
}
func (UnimplementedInteractionHubServiceServer) RequestApproval(context.Context, *RequestApprovalRequest) (*InteractionRequestResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RequestApproval not implemented")
}
func (UnimplementedInteractionHubServiceServer) RequestHumanGate(context.Context, *RequestHumanGateRequest) (*InteractionRequestResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RequestHumanGate not implemented")
}
func (UnimplementedInteractionHubServiceServer) RecordInteractionResponse(context.Context, *RecordInteractionResponseRequest) (*InteractionResponseResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RecordInteractionResponse not implemented")
}
func (UnimplementedInteractionHubServiceServer) CancelInteractionRequest(context.Context, *CancelInteractionRequestRequest) (*InteractionRequestResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CancelInteractionRequest not implemented")
}
func (UnimplementedInteractionHubServiceServer) ExpireInteractionRequests(context.Context, *ExpireInteractionRequestsRequest) (*ExpireInteractionRequestsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ExpireInteractionRequests not implemented")
}
func (UnimplementedInteractionHubServiceServer) GetInteractionRequest(context.Context, *GetInteractionRequestRequest) (*InteractionRequestResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetInteractionRequest not implemented")
}
func (UnimplementedInteractionHubServiceServer) ListInteractionRequests(context.Context, *ListInteractionRequestsRequest) (*ListInteractionRequestsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListInteractionRequests not implemented")
}
func (UnimplementedInteractionHubServiceServer) ListOwnerInboxItems(context.Context, *ListOwnerInboxItemsRequest) (*ListOwnerInboxItemsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListOwnerInboxItems not implemented")
}
func (UnimplementedInteractionHubServiceServer) GetOwnerInboxItem(context.Context, *GetOwnerInboxItemRequest) (*OwnerInboxItemResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetOwnerInboxItem not implemented")
}
func (UnimplementedInteractionHubServiceServer) RequestNotification(context.Context, *RequestNotificationRequest) (*NotificationResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RequestNotification not implemented")
}
func (UnimplementedInteractionHubServiceServer) UpsertSubscription(context.Context, *UpsertSubscriptionRequest) (*SubscriptionResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpsertSubscription not implemented")
}
func (UnimplementedInteractionHubServiceServer) DisableSubscription(context.Context, *DisableSubscriptionRequest) (*SubscriptionResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DisableSubscription not implemented")
}
func (UnimplementedInteractionHubServiceServer) ListSubscriptions(context.Context, *ListSubscriptionsRequest) (*ListSubscriptionsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method ListSubscriptions not implemented")
}
func (UnimplementedInteractionHubServiceServer) PlanDelivery(context.Context, *PlanDeliveryRequest) (*DeliveryAttemptResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PlanDelivery not implemented")
}
func (UnimplementedInteractionHubServiceServer) RecordDeliveryResult(context.Context, *RecordDeliveryResultRequest) (*DeliveryAttemptResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RecordDeliveryResult not implemented")
}
func (UnimplementedInteractionHubServiceServer) RecordChannelCallback(context.Context, *RecordChannelCallbackRequest) (*ChannelCallbackResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method RecordChannelCallback not implemented")
}
func (UnimplementedInteractionHubServiceServer) GetDeliveryStatus(context.Context, *GetDeliveryStatusRequest) (*DeliveryStatusResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetDeliveryStatus not implemented")
}
func (UnimplementedInteractionHubServiceServer) mustEmbedUnimplementedInteractionHubServiceServer() {}
func (UnimplementedInteractionHubServiceServer) testEmbeddedByValue()                               {}

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

func RegisterInteractionHubServiceServer(s grpc.ServiceRegistrar, srv InteractionHubServiceServer) {
	// If the following call pancis, it indicates UnimplementedInteractionHubServiceServer 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(&InteractionHubService_ServiceDesc, srv)
}

func _InteractionHubService_CreateConversationThread_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateConversationThreadRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).CreateConversationThread(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_CreateConversationThread_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).CreateConversationThread(ctx, req.(*CreateConversationThreadRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _InteractionHubService_RecordConversationMessage_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RecordConversationMessageRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).RecordConversationMessage(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_RecordConversationMessage_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).RecordConversationMessage(ctx, req.(*RecordConversationMessageRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _InteractionHubService_GetConversationThread_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetConversationThreadRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).GetConversationThread(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_GetConversationThread_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).GetConversationThread(ctx, req.(*GetConversationThreadRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _InteractionHubService_ListConversationMessages_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListConversationMessagesRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).ListConversationMessages(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_ListConversationMessages_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).ListConversationMessages(ctx, req.(*ListConversationMessagesRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _InteractionHubService_RequestFeedback_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RequestFeedbackRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).RequestFeedback(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_RequestFeedback_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).RequestFeedback(ctx, req.(*RequestFeedbackRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _InteractionHubService_RequestApproval_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RequestApprovalRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).RequestApproval(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_RequestApproval_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).RequestApproval(ctx, req.(*RequestApprovalRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _InteractionHubService_RequestHumanGate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RequestHumanGateRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).RequestHumanGate(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_RequestHumanGate_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).RequestHumanGate(ctx, req.(*RequestHumanGateRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _InteractionHubService_RecordInteractionResponse_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RecordInteractionResponseRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).RecordInteractionResponse(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_RecordInteractionResponse_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).RecordInteractionResponse(ctx, req.(*RecordInteractionResponseRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _InteractionHubService_CancelInteractionRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CancelInteractionRequestRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).CancelInteractionRequest(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_CancelInteractionRequest_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).CancelInteractionRequest(ctx, req.(*CancelInteractionRequestRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _InteractionHubService_ExpireInteractionRequests_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ExpireInteractionRequestsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).ExpireInteractionRequests(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_ExpireInteractionRequests_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).ExpireInteractionRequests(ctx, req.(*ExpireInteractionRequestsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _InteractionHubService_GetInteractionRequest_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetInteractionRequestRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).GetInteractionRequest(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_GetInteractionRequest_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).GetInteractionRequest(ctx, req.(*GetInteractionRequestRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _InteractionHubService_ListInteractionRequests_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListInteractionRequestsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).ListInteractionRequests(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_ListInteractionRequests_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).ListInteractionRequests(ctx, req.(*ListInteractionRequestsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _InteractionHubService_ListOwnerInboxItems_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListOwnerInboxItemsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).ListOwnerInboxItems(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_ListOwnerInboxItems_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).ListOwnerInboxItems(ctx, req.(*ListOwnerInboxItemsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _InteractionHubService_GetOwnerInboxItem_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetOwnerInboxItemRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).GetOwnerInboxItem(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_GetOwnerInboxItem_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).GetOwnerInboxItem(ctx, req.(*GetOwnerInboxItemRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _InteractionHubService_RequestNotification_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RequestNotificationRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).RequestNotification(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_RequestNotification_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).RequestNotification(ctx, req.(*RequestNotificationRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _InteractionHubService_UpsertSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpsertSubscriptionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).UpsertSubscription(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_UpsertSubscription_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).UpsertSubscription(ctx, req.(*UpsertSubscriptionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _InteractionHubService_DisableSubscription_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DisableSubscriptionRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).DisableSubscription(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_DisableSubscription_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).DisableSubscription(ctx, req.(*DisableSubscriptionRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _InteractionHubService_ListSubscriptions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ListSubscriptionsRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).ListSubscriptions(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_ListSubscriptions_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).ListSubscriptions(ctx, req.(*ListSubscriptionsRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _InteractionHubService_PlanDelivery_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PlanDeliveryRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).PlanDelivery(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_PlanDelivery_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).PlanDelivery(ctx, req.(*PlanDeliveryRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _InteractionHubService_RecordDeliveryResult_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RecordDeliveryResultRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).RecordDeliveryResult(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_RecordDeliveryResult_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).RecordDeliveryResult(ctx, req.(*RecordDeliveryResultRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _InteractionHubService_RecordChannelCallback_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(RecordChannelCallbackRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).RecordChannelCallback(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_RecordChannelCallback_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).RecordChannelCallback(ctx, req.(*RecordChannelCallbackRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _InteractionHubService_GetDeliveryStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetDeliveryStatusRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(InteractionHubServiceServer).GetDeliveryStatus(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: InteractionHubService_GetDeliveryStatus_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(InteractionHubServiceServer).GetDeliveryStatus(ctx, req.(*GetDeliveryStatusRequest))
	}
	return interceptor(ctx, in, info, handler)
}

// InteractionHubService_ServiceDesc is the grpc.ServiceDesc for InteractionHubService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var InteractionHubService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "kodex.interactions.v1.InteractionHubService",
	HandlerType: (*InteractionHubServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "CreateConversationThread",
			Handler:    _InteractionHubService_CreateConversationThread_Handler,
		},
		{
			MethodName: "RecordConversationMessage",
			Handler:    _InteractionHubService_RecordConversationMessage_Handler,
		},
		{
			MethodName: "GetConversationThread",
			Handler:    _InteractionHubService_GetConversationThread_Handler,
		},
		{
			MethodName: "ListConversationMessages",
			Handler:    _InteractionHubService_ListConversationMessages_Handler,
		},
		{
			MethodName: "RequestFeedback",
			Handler:    _InteractionHubService_RequestFeedback_Handler,
		},
		{
			MethodName: "RequestApproval",
			Handler:    _InteractionHubService_RequestApproval_Handler,
		},
		{
			MethodName: "RequestHumanGate",
			Handler:    _InteractionHubService_RequestHumanGate_Handler,
		},
		{
			MethodName: "RecordInteractionResponse",
			Handler:    _InteractionHubService_RecordInteractionResponse_Handler,
		},
		{
			MethodName: "CancelInteractionRequest",
			Handler:    _InteractionHubService_CancelInteractionRequest_Handler,
		},
		{
			MethodName: "ExpireInteractionRequests",
			Handler:    _InteractionHubService_ExpireInteractionRequests_Handler,
		},
		{
			MethodName: "GetInteractionRequest",
			Handler:    _InteractionHubService_GetInteractionRequest_Handler,
		},
		{
			MethodName: "ListInteractionRequests",
			Handler:    _InteractionHubService_ListInteractionRequests_Handler,
		},
		{
			MethodName: "ListOwnerInboxItems",
			Handler:    _InteractionHubService_ListOwnerInboxItems_Handler,
		},
		{
			MethodName: "GetOwnerInboxItem",
			Handler:    _InteractionHubService_GetOwnerInboxItem_Handler,
		},
		{
			MethodName: "RequestNotification",
			Handler:    _InteractionHubService_RequestNotification_Handler,
		},
		{
			MethodName: "UpsertSubscription",
			Handler:    _InteractionHubService_UpsertSubscription_Handler,
		},
		{
			MethodName: "DisableSubscription",
			Handler:    _InteractionHubService_DisableSubscription_Handler,
		},
		{
			MethodName: "ListSubscriptions",
			Handler:    _InteractionHubService_ListSubscriptions_Handler,
		},
		{
			MethodName: "PlanDelivery",
			Handler:    _InteractionHubService_PlanDelivery_Handler,
		},
		{
			MethodName: "RecordDeliveryResult",
			Handler:    _InteractionHubService_RecordDeliveryResult_Handler,
		},
		{
			MethodName: "RecordChannelCallback",
			Handler:    _InteractionHubService_RecordChannelCallback_Handler,
		},
		{
			MethodName: "GetDeliveryStatus",
			Handler:    _InteractionHubService_GetDeliveryStatus_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "kodex/interactions/v1/interaction_hub.proto",
}
