//
//Сервис реализует функционал управления оповещениями о проблемах сбора показаний телеметрии (алертинга)

// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
// - protoc-gen-go-grpc v1.3.0
// - protoc             v4.23.1
// source: keyapis/telemetry_alerting/v1/keyapis_telemetry_alerting_trigger_v1.proto

package keyapis_telemetry_alerting_v1

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.32.0 or later.
const _ = grpc.SupportPackageIsVersion7

const (
	TriggerService_PostTrigger_FullMethodName               = "/keyapis.telemetry_alerting.v1.TriggerService/PostTrigger"
	TriggerService_GetTrigger_FullMethodName                = "/keyapis.telemetry_alerting.v1.TriggerService/GetTrigger"
	TriggerService_GetTriggerList_FullMethodName            = "/keyapis.telemetry_alerting.v1.TriggerService/GetTriggerList"
	TriggerService_GetTriggerCount_FullMethodName           = "/keyapis.telemetry_alerting.v1.TriggerService/GetTriggerCount"
	TriggerService_DeleteTrigger_FullMethodName             = "/keyapis.telemetry_alerting.v1.TriggerService/DeleteTrigger"
	TriggerService_GetTriggerAlertList_FullMethodName       = "/keyapis.telemetry_alerting.v1.TriggerService/GetTriggerAlertList"
	TriggerService_GetTriggerAlertCount_FullMethodName      = "/keyapis.telemetry_alerting.v1.TriggerService/GetTriggerAlertCount"
	TriggerService_DeleteTriggerAlert_FullMethodName        = "/keyapis.telemetry_alerting.v1.TriggerService/DeleteTriggerAlert"
	TriggerService_PostTriggerAlertDisable_FullMethodName   = "/keyapis.telemetry_alerting.v1.TriggerService/PostTriggerAlertDisable"
	TriggerService_GetTriggerAlertDeviceList_FullMethodName = "/keyapis.telemetry_alerting.v1.TriggerService/GetTriggerAlertDeviceList"
)

// TriggerServiceClient is the client API for TriggerService 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.
type TriggerServiceClient interface {
	// Метод сохранения триггера.
	// Поддерживает создание и обновление.
	// Метод доступен для: service, application(telemetry:edit)
	PostTrigger(ctx context.Context, in *PostTriggerRequest, opts ...grpc.CallOption) (*PostTriggerResponse, error)
	// Чтение одного триггера.
	// Метод доступен для: service, application(telemetry:read или telemetry:edit)
	GetTrigger(ctx context.Context, in *GetTriggerRequest, opts ...grpc.CallOption) (*GetTriggerResponse, error)
	// Метод получения списка триггеров.
	// Метод доступен для: service, application(telemetry:read или telemetry:edit)
	GetTriggerList(ctx context.Context, in *GetTriggerListRequest, opts ...grpc.CallOption) (TriggerService_GetTriggerListClient, error)
	// Метод получения количества триггеров.
	// Метод доступен для: service, application(telemetry:read или telemetry:edit)
	GetTriggerCount(ctx context.Context, in *GetTriggerCountRequest, opts ...grpc.CallOption) (*GetTriggerCountResponse, error)
	// Удаление триггера.
	// Метод удаляет только отключенный триггер (is_disabled=true).
	// Удаление неотключенного вызовет ошибку.
	// При удалении триггера удаляются и все его алерты.
	// Метод доступен для: service, application(telemetry:edit)
	DeleteTrigger(ctx context.Context, in *DeleteTriggerRequest, opts ...grpc.CallOption) (*DeleteTriggerResponse, error)
	// Метод получения списка алертов.
	// Метод доступен для: service, application(telemetry:read или telemetry:edit)
	GetTriggerAlertList(ctx context.Context, in *GetTriggerAlertListRequest, opts ...grpc.CallOption) (TriggerService_GetTriggerAlertListClient, error)
	// Метод получения количества алертов.
	// Метод доступен для: service, application(telemetry:read или telemetry:edit)
	GetTriggerAlertCount(ctx context.Context, in *GetTriggerAlertCountRequest, opts ...grpc.CallOption) (*GetTriggerAlertCountResponse, error)
	// Удаление алерта.
	// Метод удаляет только погашенный алерт (is_disabled=true).
	// Удаление непогашенного вызовет ошибку.
	// Метод доступен для: service, application(telemetry:edit)
	DeleteTriggerAlert(ctx context.Context, in *DeleteTriggerAlertRequest, opts ...grpc.CallOption) (*DeleteTriggerAlertResponse, error)
	// Принудительное выключение алерта.
	// Дата closed_at проставляется текущим временем.
	// Флаг is_disabled проставляется true.
	// Флаг is_manually_closed проставляется true.
	// Можно принудительно выключать только алерты созданные по триггерам с атрибутом manually_unclosable=false.
	// Метод доступен для: service, application(telemetry:edit)
	PostTriggerAlertDisable(ctx context.Context, in *PostTriggerAlertDisableRequest, opts ...grpc.CallOption) (*PostTriggerAlertDisableResponse, error)
	// Список устройств, вызвавших появление алерта.
	// Метод доступен для: service, application(telemetry:read или telemetry:edit)
	GetTriggerAlertDeviceList(ctx context.Context, in *GetTriggerAlertDeviceListRequest, opts ...grpc.CallOption) (TriggerService_GetTriggerAlertDeviceListClient, error)
}

type triggerServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewTriggerServiceClient(cc grpc.ClientConnInterface) TriggerServiceClient {
	return &triggerServiceClient{cc}
}

func (c *triggerServiceClient) PostTrigger(ctx context.Context, in *PostTriggerRequest, opts ...grpc.CallOption) (*PostTriggerResponse, error) {
	out := new(PostTriggerResponse)
	err := c.cc.Invoke(ctx, TriggerService_PostTrigger_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *triggerServiceClient) GetTrigger(ctx context.Context, in *GetTriggerRequest, opts ...grpc.CallOption) (*GetTriggerResponse, error) {
	out := new(GetTriggerResponse)
	err := c.cc.Invoke(ctx, TriggerService_GetTrigger_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *triggerServiceClient) GetTriggerList(ctx context.Context, in *GetTriggerListRequest, opts ...grpc.CallOption) (TriggerService_GetTriggerListClient, error) {
	stream, err := c.cc.NewStream(ctx, &TriggerService_ServiceDesc.Streams[0], TriggerService_GetTriggerList_FullMethodName, opts...)
	if err != nil {
		return nil, err
	}
	x := &triggerServiceGetTriggerListClient{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
}

type TriggerService_GetTriggerListClient interface {
	Recv() (*GetTriggerListResponse, error)
	grpc.ClientStream
}

type triggerServiceGetTriggerListClient struct {
	grpc.ClientStream
}

func (x *triggerServiceGetTriggerListClient) Recv() (*GetTriggerListResponse, error) {
	m := new(GetTriggerListResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *triggerServiceClient) GetTriggerCount(ctx context.Context, in *GetTriggerCountRequest, opts ...grpc.CallOption) (*GetTriggerCountResponse, error) {
	out := new(GetTriggerCountResponse)
	err := c.cc.Invoke(ctx, TriggerService_GetTriggerCount_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *triggerServiceClient) DeleteTrigger(ctx context.Context, in *DeleteTriggerRequest, opts ...grpc.CallOption) (*DeleteTriggerResponse, error) {
	out := new(DeleteTriggerResponse)
	err := c.cc.Invoke(ctx, TriggerService_DeleteTrigger_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *triggerServiceClient) GetTriggerAlertList(ctx context.Context, in *GetTriggerAlertListRequest, opts ...grpc.CallOption) (TriggerService_GetTriggerAlertListClient, error) {
	stream, err := c.cc.NewStream(ctx, &TriggerService_ServiceDesc.Streams[1], TriggerService_GetTriggerAlertList_FullMethodName, opts...)
	if err != nil {
		return nil, err
	}
	x := &triggerServiceGetTriggerAlertListClient{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
}

type TriggerService_GetTriggerAlertListClient interface {
	Recv() (*GetTriggerAlertListResponse, error)
	grpc.ClientStream
}

type triggerServiceGetTriggerAlertListClient struct {
	grpc.ClientStream
}

func (x *triggerServiceGetTriggerAlertListClient) Recv() (*GetTriggerAlertListResponse, error) {
	m := new(GetTriggerAlertListResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

func (c *triggerServiceClient) GetTriggerAlertCount(ctx context.Context, in *GetTriggerAlertCountRequest, opts ...grpc.CallOption) (*GetTriggerAlertCountResponse, error) {
	out := new(GetTriggerAlertCountResponse)
	err := c.cc.Invoke(ctx, TriggerService_GetTriggerAlertCount_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *triggerServiceClient) DeleteTriggerAlert(ctx context.Context, in *DeleteTriggerAlertRequest, opts ...grpc.CallOption) (*DeleteTriggerAlertResponse, error) {
	out := new(DeleteTriggerAlertResponse)
	err := c.cc.Invoke(ctx, TriggerService_DeleteTriggerAlert_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *triggerServiceClient) PostTriggerAlertDisable(ctx context.Context, in *PostTriggerAlertDisableRequest, opts ...grpc.CallOption) (*PostTriggerAlertDisableResponse, error) {
	out := new(PostTriggerAlertDisableResponse)
	err := c.cc.Invoke(ctx, TriggerService_PostTriggerAlertDisable_FullMethodName, in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *triggerServiceClient) GetTriggerAlertDeviceList(ctx context.Context, in *GetTriggerAlertDeviceListRequest, opts ...grpc.CallOption) (TriggerService_GetTriggerAlertDeviceListClient, error) {
	stream, err := c.cc.NewStream(ctx, &TriggerService_ServiceDesc.Streams[2], TriggerService_GetTriggerAlertDeviceList_FullMethodName, opts...)
	if err != nil {
		return nil, err
	}
	x := &triggerServiceGetTriggerAlertDeviceListClient{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
}

type TriggerService_GetTriggerAlertDeviceListClient interface {
	Recv() (*GetTriggerAlertDeviceListResponse, error)
	grpc.ClientStream
}

type triggerServiceGetTriggerAlertDeviceListClient struct {
	grpc.ClientStream
}

func (x *triggerServiceGetTriggerAlertDeviceListClient) Recv() (*GetTriggerAlertDeviceListResponse, error) {
	m := new(GetTriggerAlertDeviceListResponse)
	if err := x.ClientStream.RecvMsg(m); err != nil {
		return nil, err
	}
	return m, nil
}

// TriggerServiceServer is the server API for TriggerService service.
// All implementations should embed UnimplementedTriggerServiceServer
// for forward compatibility
type TriggerServiceServer interface {
	// Метод сохранения триггера.
	// Поддерживает создание и обновление.
	// Метод доступен для: service, application(telemetry:edit)
	PostTrigger(context.Context, *PostTriggerRequest) (*PostTriggerResponse, error)
	// Чтение одного триггера.
	// Метод доступен для: service, application(telemetry:read или telemetry:edit)
	GetTrigger(context.Context, *GetTriggerRequest) (*GetTriggerResponse, error)
	// Метод получения списка триггеров.
	// Метод доступен для: service, application(telemetry:read или telemetry:edit)
	GetTriggerList(*GetTriggerListRequest, TriggerService_GetTriggerListServer) error
	// Метод получения количества триггеров.
	// Метод доступен для: service, application(telemetry:read или telemetry:edit)
	GetTriggerCount(context.Context, *GetTriggerCountRequest) (*GetTriggerCountResponse, error)
	// Удаление триггера.
	// Метод удаляет только отключенный триггер (is_disabled=true).
	// Удаление неотключенного вызовет ошибку.
	// При удалении триггера удаляются и все его алерты.
	// Метод доступен для: service, application(telemetry:edit)
	DeleteTrigger(context.Context, *DeleteTriggerRequest) (*DeleteTriggerResponse, error)
	// Метод получения списка алертов.
	// Метод доступен для: service, application(telemetry:read или telemetry:edit)
	GetTriggerAlertList(*GetTriggerAlertListRequest, TriggerService_GetTriggerAlertListServer) error
	// Метод получения количества алертов.
	// Метод доступен для: service, application(telemetry:read или telemetry:edit)
	GetTriggerAlertCount(context.Context, *GetTriggerAlertCountRequest) (*GetTriggerAlertCountResponse, error)
	// Удаление алерта.
	// Метод удаляет только погашенный алерт (is_disabled=true).
	// Удаление непогашенного вызовет ошибку.
	// Метод доступен для: service, application(telemetry:edit)
	DeleteTriggerAlert(context.Context, *DeleteTriggerAlertRequest) (*DeleteTriggerAlertResponse, error)
	// Принудительное выключение алерта.
	// Дата closed_at проставляется текущим временем.
	// Флаг is_disabled проставляется true.
	// Флаг is_manually_closed проставляется true.
	// Можно принудительно выключать только алерты созданные по триггерам с атрибутом manually_unclosable=false.
	// Метод доступен для: service, application(telemetry:edit)
	PostTriggerAlertDisable(context.Context, *PostTriggerAlertDisableRequest) (*PostTriggerAlertDisableResponse, error)
	// Список устройств, вызвавших появление алерта.
	// Метод доступен для: service, application(telemetry:read или telemetry:edit)
	GetTriggerAlertDeviceList(*GetTriggerAlertDeviceListRequest, TriggerService_GetTriggerAlertDeviceListServer) error
}

// UnimplementedTriggerServiceServer should be embedded to have forward compatible implementations.
type UnimplementedTriggerServiceServer struct {
}

func (UnimplementedTriggerServiceServer) PostTrigger(context.Context, *PostTriggerRequest) (*PostTriggerResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PostTrigger not implemented")
}
func (UnimplementedTriggerServiceServer) GetTrigger(context.Context, *GetTriggerRequest) (*GetTriggerResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetTrigger not implemented")
}
func (UnimplementedTriggerServiceServer) GetTriggerList(*GetTriggerListRequest, TriggerService_GetTriggerListServer) error {
	return status.Errorf(codes.Unimplemented, "method GetTriggerList not implemented")
}
func (UnimplementedTriggerServiceServer) GetTriggerCount(context.Context, *GetTriggerCountRequest) (*GetTriggerCountResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetTriggerCount not implemented")
}
func (UnimplementedTriggerServiceServer) DeleteTrigger(context.Context, *DeleteTriggerRequest) (*DeleteTriggerResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteTrigger not implemented")
}
func (UnimplementedTriggerServiceServer) GetTriggerAlertList(*GetTriggerAlertListRequest, TriggerService_GetTriggerAlertListServer) error {
	return status.Errorf(codes.Unimplemented, "method GetTriggerAlertList not implemented")
}
func (UnimplementedTriggerServiceServer) GetTriggerAlertCount(context.Context, *GetTriggerAlertCountRequest) (*GetTriggerAlertCountResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetTriggerAlertCount not implemented")
}
func (UnimplementedTriggerServiceServer) DeleteTriggerAlert(context.Context, *DeleteTriggerAlertRequest) (*DeleteTriggerAlertResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteTriggerAlert not implemented")
}
func (UnimplementedTriggerServiceServer) PostTriggerAlertDisable(context.Context, *PostTriggerAlertDisableRequest) (*PostTriggerAlertDisableResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method PostTriggerAlertDisable not implemented")
}
func (UnimplementedTriggerServiceServer) GetTriggerAlertDeviceList(*GetTriggerAlertDeviceListRequest, TriggerService_GetTriggerAlertDeviceListServer) error {
	return status.Errorf(codes.Unimplemented, "method GetTriggerAlertDeviceList not implemented")
}

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

func RegisterTriggerServiceServer(s grpc.ServiceRegistrar, srv TriggerServiceServer) {
	s.RegisterService(&TriggerService_ServiceDesc, srv)
}

func _TriggerService_PostTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PostTriggerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TriggerServiceServer).PostTrigger(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: TriggerService_PostTrigger_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TriggerServiceServer).PostTrigger(ctx, req.(*PostTriggerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TriggerService_GetTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetTriggerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TriggerServiceServer).GetTrigger(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: TriggerService_GetTrigger_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TriggerServiceServer).GetTrigger(ctx, req.(*GetTriggerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TriggerService_GetTriggerList_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(GetTriggerListRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(TriggerServiceServer).GetTriggerList(m, &triggerServiceGetTriggerListServer{stream})
}

type TriggerService_GetTriggerListServer interface {
	Send(*GetTriggerListResponse) error
	grpc.ServerStream
}

type triggerServiceGetTriggerListServer struct {
	grpc.ServerStream
}

func (x *triggerServiceGetTriggerListServer) Send(m *GetTriggerListResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _TriggerService_GetTriggerCount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetTriggerCountRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TriggerServiceServer).GetTriggerCount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: TriggerService_GetTriggerCount_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TriggerServiceServer).GetTriggerCount(ctx, req.(*GetTriggerCountRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TriggerService_DeleteTrigger_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteTriggerRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TriggerServiceServer).DeleteTrigger(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: TriggerService_DeleteTrigger_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TriggerServiceServer).DeleteTrigger(ctx, req.(*DeleteTriggerRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TriggerService_GetTriggerAlertList_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(GetTriggerAlertListRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(TriggerServiceServer).GetTriggerAlertList(m, &triggerServiceGetTriggerAlertListServer{stream})
}

type TriggerService_GetTriggerAlertListServer interface {
	Send(*GetTriggerAlertListResponse) error
	grpc.ServerStream
}

type triggerServiceGetTriggerAlertListServer struct {
	grpc.ServerStream
}

func (x *triggerServiceGetTriggerAlertListServer) Send(m *GetTriggerAlertListResponse) error {
	return x.ServerStream.SendMsg(m)
}

func _TriggerService_GetTriggerAlertCount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetTriggerAlertCountRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TriggerServiceServer).GetTriggerAlertCount(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: TriggerService_GetTriggerAlertCount_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TriggerServiceServer).GetTriggerAlertCount(ctx, req.(*GetTriggerAlertCountRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TriggerService_DeleteTriggerAlert_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteTriggerAlertRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TriggerServiceServer).DeleteTriggerAlert(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: TriggerService_DeleteTriggerAlert_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TriggerServiceServer).DeleteTriggerAlert(ctx, req.(*DeleteTriggerAlertRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TriggerService_PostTriggerAlertDisable_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(PostTriggerAlertDisableRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TriggerServiceServer).PostTriggerAlertDisable(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: TriggerService_PostTriggerAlertDisable_FullMethodName,
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TriggerServiceServer).PostTriggerAlertDisable(ctx, req.(*PostTriggerAlertDisableRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TriggerService_GetTriggerAlertDeviceList_Handler(srv interface{}, stream grpc.ServerStream) error {
	m := new(GetTriggerAlertDeviceListRequest)
	if err := stream.RecvMsg(m); err != nil {
		return err
	}
	return srv.(TriggerServiceServer).GetTriggerAlertDeviceList(m, &triggerServiceGetTriggerAlertDeviceListServer{stream})
}

type TriggerService_GetTriggerAlertDeviceListServer interface {
	Send(*GetTriggerAlertDeviceListResponse) error
	grpc.ServerStream
}

type triggerServiceGetTriggerAlertDeviceListServer struct {
	grpc.ServerStream
}

func (x *triggerServiceGetTriggerAlertDeviceListServer) Send(m *GetTriggerAlertDeviceListResponse) error {
	return x.ServerStream.SendMsg(m)
}

// TriggerService_ServiceDesc is the grpc.ServiceDesc for TriggerService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var TriggerService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "keyapis.telemetry_alerting.v1.TriggerService",
	HandlerType: (*TriggerServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "PostTrigger",
			Handler:    _TriggerService_PostTrigger_Handler,
		},
		{
			MethodName: "GetTrigger",
			Handler:    _TriggerService_GetTrigger_Handler,
		},
		{
			MethodName: "GetTriggerCount",
			Handler:    _TriggerService_GetTriggerCount_Handler,
		},
		{
			MethodName: "DeleteTrigger",
			Handler:    _TriggerService_DeleteTrigger_Handler,
		},
		{
			MethodName: "GetTriggerAlertCount",
			Handler:    _TriggerService_GetTriggerAlertCount_Handler,
		},
		{
			MethodName: "DeleteTriggerAlert",
			Handler:    _TriggerService_DeleteTriggerAlert_Handler,
		},
		{
			MethodName: "PostTriggerAlertDisable",
			Handler:    _TriggerService_PostTriggerAlertDisable_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "GetTriggerList",
			Handler:       _TriggerService_GetTriggerList_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "GetTriggerAlertList",
			Handler:       _TriggerService_GetTriggerAlertList_Handler,
			ServerStreams: true,
		},
		{
			StreamName:    "GetTriggerAlertDeviceList",
			Handler:       _TriggerService_GetTriggerAlertDeviceList_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "keyapis/telemetry_alerting/v1/keyapis_telemetry_alerting_trigger_v1.proto",
}
