package todopb

import (
	context "context"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
)

const _ = grpc.SupportPackageIsVersion7

type TodoServiceClient interface {
	CreateTodoList(ctx context.Context, in *CreateTodoListRequest, opts ...grpc.CallOption) (*CreateTodoListResponse, error)
	CreateTodo(ctx context.Context, in *CreateTodoRequest, opts ...grpc.CallOption) (*CreateTodoResponse, error)
	GetTodosFromList(ctx context.Context, in *GetTodosFromListRequest, opts ...grpc.CallOption) (*GetTodosFromListResponse, error)
	GetTodoLists(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetTodoListsResponse, error)
	DeleteTodoById(ctx context.Context, in *DeleteTodoByIdRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	DeleteTodoListById(ctx context.Context, in *DeleteTodoListByIdRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	GetTodoById(ctx context.Context, in *GetTodoByIdRequest, opts ...grpc.CallOption) (*GetTodoByIdResponse, error)
	GetAllTodos(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetAllTodosResponse, error)
	UpdateTodoNameById(ctx context.Context, in *UpdateTodoNameByIdRequest, opts ...grpc.CallOption) (*UpdateTodoNameByIdResponse, error)
	UpdateTodoContentById(ctx context.Context, in *UpdateTodoContentByIdRequest, opts ...grpc.CallOption) (*UpdateTodoContentByIdResponse, error)
	UpdateTodoStatusById(ctx context.Context, in *UpdateTodoStatusByIdRequest, opts ...grpc.CallOption) (*UpdateTodoStatusByIdResponse, error)
	UpdateTodoListNameById(ctx context.Context, in *UpdateTodoListNameByIdRequest, opts ...grpc.CallOption) (*UpdateTodoListNameByIdResponse, error)
}

type todoServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewTodoServiceClient(cc grpc.ClientConnInterface) TodoServiceClient {
	return &todoServiceClient{cc}
}

func (c *todoServiceClient) CreateTodoList(ctx context.Context, in *CreateTodoListRequest, opts ...grpc.CallOption) (*CreateTodoListResponse, error) {
	out := new(CreateTodoListResponse)
	err := c.cc.Invoke(ctx, "/todo.TodoService/CreateTodoList", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) CreateTodo(ctx context.Context, in *CreateTodoRequest, opts ...grpc.CallOption) (*CreateTodoResponse, error) {
	out := new(CreateTodoResponse)
	err := c.cc.Invoke(ctx, "/todo.TodoService/CreateTodo", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) GetTodosFromList(ctx context.Context, in *GetTodosFromListRequest, opts ...grpc.CallOption) (*GetTodosFromListResponse, error) {
	out := new(GetTodosFromListResponse)
	err := c.cc.Invoke(ctx, "/todo.TodoService/GetTodosFromList", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) GetTodoLists(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetTodoListsResponse, error) {
	out := new(GetTodoListsResponse)
	err := c.cc.Invoke(ctx, "/todo.TodoService/GetTodoLists", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) DeleteTodoById(ctx context.Context, in *DeleteTodoByIdRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/todo.TodoService/DeleteTodoById", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) DeleteTodoListById(ctx context.Context, in *DeleteTodoListByIdRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/todo.TodoService/DeleteTodoListById", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) GetTodoById(ctx context.Context, in *GetTodoByIdRequest, opts ...grpc.CallOption) (*GetTodoByIdResponse, error) {
	out := new(GetTodoByIdResponse)
	err := c.cc.Invoke(ctx, "/todo.TodoService/GetTodoById", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) GetAllTodos(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetAllTodosResponse, error) {
	out := new(GetAllTodosResponse)
	err := c.cc.Invoke(ctx, "/todo.TodoService/GetAllTodos", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) UpdateTodoNameById(ctx context.Context, in *UpdateTodoNameByIdRequest, opts ...grpc.CallOption) (*UpdateTodoNameByIdResponse, error) {
	out := new(UpdateTodoNameByIdResponse)
	err := c.cc.Invoke(ctx, "/todo.TodoService/UpdateTodoNameById", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) UpdateTodoContentById(ctx context.Context, in *UpdateTodoContentByIdRequest, opts ...grpc.CallOption) (*UpdateTodoContentByIdResponse, error) {
	out := new(UpdateTodoContentByIdResponse)
	err := c.cc.Invoke(ctx, "/todo.TodoService/UpdateTodoContentById", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) UpdateTodoStatusById(ctx context.Context, in *UpdateTodoStatusByIdRequest, opts ...grpc.CallOption) (*UpdateTodoStatusByIdResponse, error) {
	out := new(UpdateTodoStatusByIdResponse)
	err := c.cc.Invoke(ctx, "/todo.TodoService/UpdateTodoStatusById", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) UpdateTodoListNameById(ctx context.Context, in *UpdateTodoListNameByIdRequest, opts ...grpc.CallOption) (*UpdateTodoListNameByIdResponse, error) {
	out := new(UpdateTodoListNameByIdResponse)
	err := c.cc.Invoke(ctx, "/todo.TodoService/UpdateTodoListNameById", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

type TodoServiceServer interface {
	CreateTodoList(context.Context, *CreateTodoListRequest) (*CreateTodoListResponse, error)
	CreateTodo(context.Context, *CreateTodoRequest) (*CreateTodoResponse, error)
	GetTodosFromList(context.Context, *GetTodosFromListRequest) (*GetTodosFromListResponse, error)
	GetTodoLists(context.Context, *emptypb.Empty) (*GetTodoListsResponse, error)
	DeleteTodoById(context.Context, *DeleteTodoByIdRequest) (*emptypb.Empty, error)
	DeleteTodoListById(context.Context, *DeleteTodoListByIdRequest) (*emptypb.Empty, error)
	GetTodoById(context.Context, *GetTodoByIdRequest) (*GetTodoByIdResponse, error)
	GetAllTodos(context.Context, *emptypb.Empty) (*GetAllTodosResponse, error)
	UpdateTodoNameById(context.Context, *UpdateTodoNameByIdRequest) (*UpdateTodoNameByIdResponse, error)
	UpdateTodoContentById(context.Context, *UpdateTodoContentByIdRequest) (*UpdateTodoContentByIdResponse, error)
	UpdateTodoStatusById(context.Context, *UpdateTodoStatusByIdRequest) (*UpdateTodoStatusByIdResponse, error)
	UpdateTodoListNameById(context.Context, *UpdateTodoListNameByIdRequest) (*UpdateTodoListNameByIdResponse, error)
	mustEmbedUnimplementedTodoServiceServer()
}

type UnimplementedTodoServiceServer struct {
}

func (UnimplementedTodoServiceServer) CreateTodoList(context.Context, *CreateTodoListRequest) (*CreateTodoListResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateTodoList not implemented")
}
func (UnimplementedTodoServiceServer) CreateTodo(context.Context, *CreateTodoRequest) (*CreateTodoResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateTodo not implemented")
}
func (UnimplementedTodoServiceServer) GetTodosFromList(context.Context, *GetTodosFromListRequest) (*GetTodosFromListResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetTodosFromList not implemented")
}
func (UnimplementedTodoServiceServer) GetTodoLists(context.Context, *emptypb.Empty) (*GetTodoListsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetTodoLists not implemented")
}
func (UnimplementedTodoServiceServer) DeleteTodoById(context.Context, *DeleteTodoByIdRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteTodoById not implemented")
}
func (UnimplementedTodoServiceServer) DeleteTodoListById(context.Context, *DeleteTodoListByIdRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteTodoListById not implemented")
}
func (UnimplementedTodoServiceServer) GetTodoById(context.Context, *GetTodoByIdRequest) (*GetTodoByIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetTodoById not implemented")
}
func (UnimplementedTodoServiceServer) GetAllTodos(context.Context, *emptypb.Empty) (*GetAllTodosResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetAllTodos not implemented")
}
func (UnimplementedTodoServiceServer) UpdateTodoNameById(context.Context, *UpdateTodoNameByIdRequest) (*UpdateTodoNameByIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateTodoNameById not implemented")
}
func (UnimplementedTodoServiceServer) UpdateTodoContentById(context.Context, *UpdateTodoContentByIdRequest) (*UpdateTodoContentByIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateTodoContentById not implemented")
}
func (UnimplementedTodoServiceServer) UpdateTodoStatusById(context.Context, *UpdateTodoStatusByIdRequest) (*UpdateTodoStatusByIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateTodoStatusById not implemented")
}
func (UnimplementedTodoServiceServer) UpdateTodoListNameById(context.Context, *UpdateTodoListNameByIdRequest) (*UpdateTodoListNameByIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateTodoListNameById not implemented")
}
func (UnimplementedTodoServiceServer) mustEmbedUnimplementedTodoServiceServer() {}

type UnsafeTodoServiceServer interface {
	mustEmbedUnimplementedTodoServiceServer()
}

func RegisterTodoServiceServer(s grpc.ServiceRegistrar, srv TodoServiceServer) {
	s.RegisterService(&TodoService_ServiceDesc, srv)
}

func _TodoService_CreateTodoList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateTodoListRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).CreateTodoList(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/CreateTodoList",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).CreateTodoList(ctx, req.(*CreateTodoListRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_CreateTodo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateTodoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).CreateTodo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/CreateTodo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).CreateTodo(ctx, req.(*CreateTodoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_GetTodosFromList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetTodosFromListRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).GetTodosFromList(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/GetTodosFromList",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).GetTodosFromList(ctx, req.(*GetTodosFromListRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_GetTodoLists_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(emptypb.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).GetTodoLists(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/GetTodoLists",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).GetTodoLists(ctx, req.(*emptypb.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_DeleteTodoById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteTodoByIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).DeleteTodoById(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/DeleteTodoById",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).DeleteTodoById(ctx, req.(*DeleteTodoByIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_DeleteTodoListById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteTodoListByIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).DeleteTodoListById(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/DeleteTodoListById",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).DeleteTodoListById(ctx, req.(*DeleteTodoListByIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_GetTodoById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetTodoByIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).GetTodoById(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/GetTodoById",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).GetTodoById(ctx, req.(*GetTodoByIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_GetAllTodos_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(emptypb.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).GetAllTodos(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/GetAllTodos",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).GetAllTodos(ctx, req.(*emptypb.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_UpdateTodoNameById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateTodoNameByIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).UpdateTodoNameById(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/UpdateTodoNameById",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).UpdateTodoNameById(ctx, req.(*UpdateTodoNameByIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_UpdateTodoContentById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateTodoContentByIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).UpdateTodoContentById(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/UpdateTodoContentById",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).UpdateTodoContentById(ctx, req.(*UpdateTodoContentByIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_UpdateTodoStatusById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateTodoStatusByIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).UpdateTodoStatusById(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/UpdateTodoStatusById",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).UpdateTodoStatusById(ctx, req.(*UpdateTodoStatusByIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_UpdateTodoListNameById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateTodoListNameByIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).UpdateTodoListNameById(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/UpdateTodoListNameById",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).UpdateTodoListNameById(ctx, req.(*UpdateTodoListNameByIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

var TodoService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "todo.TodoService",
	HandlerType: (*TodoServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "CreateTodoList",
			Handler:    _TodoService_CreateTodoList_Handler,
		},
		{
			MethodName: "CreateTodo",
			Handler:    _TodoService_CreateTodo_Handler,
		},
		{
			MethodName: "GetTodosFromList",
			Handler:    _TodoService_GetTodosFromList_Handler,
		},
		{
			MethodName: "GetTodoLists",
			Handler:    _TodoService_GetTodoLists_Handler,
		},
		{
			MethodName: "DeleteTodoById",
			Handler:    _TodoService_DeleteTodoById_Handler,
		},
		{
			MethodName: "DeleteTodoListById",
			Handler:    _TodoService_DeleteTodoListById_Handler,
		},
		{
			MethodName: "GetTodoById",
			Handler:    _TodoService_GetTodoById_Handler,
		},
		{
			MethodName: "GetAllTodos",
			Handler:    _TodoService_GetAllTodos_Handler,
		},
		{
			MethodName: "UpdateTodoNameById",
			Handler:    _TodoService_UpdateTodoNameById_Handler,
		},
		{
			MethodName: "UpdateTodoContentById",
			Handler:    _TodoService_UpdateTodoContentById_Handler,
		},
		{
			MethodName: "UpdateTodoStatusById",
			Handler:    _TodoService_UpdateTodoStatusById_Handler,
		},
		{
			MethodName: "UpdateTodoListNameById",
			Handler:    _TodoService_UpdateTodoListNameById_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "proto/todo.proto",
}
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.

package todopb

import (
	context "context"
	grpc "google.golang.org/grpc"
	codes "google.golang.org/grpc/codes"
	status "google.golang.org/grpc/status"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
)

// 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

// TodoServiceClient is the client API for TodoService 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 TodoServiceClient interface {
	CreateTodoList(ctx context.Context, in *CreateTodoListRequest, opts ...grpc.CallOption) (*CreateTodoListResponse, error)
	CreateTodo(ctx context.Context, in *CreateTodoRequest, opts ...grpc.CallOption) (*CreateTodoResponse, error)
	GetTodosFromList(ctx context.Context, in *GetTodosFromListRequest, opts ...grpc.CallOption) (*GetTodosFromListResponse, error)
	GetTodoLists(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetTodoListsResponse, error)
	DeleteTodoById(ctx context.Context, in *DeleteTodoByIdRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	DeleteTodoListById(ctx context.Context, in *DeleteTodoListByIdRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
	GetTodoById(ctx context.Context, in *GetTodoByIdRequest, opts ...grpc.CallOption) (*GetTodoByIdResponse, error)
	GetAllTodos(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetAllTodosResponse, error)
	UpdateTodoNameById(ctx context.Context, in *UpdateTodoNameByIdRequest, opts ...grpc.CallOption) (*UpdateTodoNameByIdResponse, error)
	UpdateTodoContentById(ctx context.Context, in *UpdateTodoContentByIdRequest, opts ...grpc.CallOption) (*UpdateTodoContentByIdResponse, error)
	UpdateTodoStatusById(ctx context.Context, in *UpdateTodoStatusByIdRequest, opts ...grpc.CallOption) (*UpdateTodoStatusByIdResponse, error)
	UpdateTodoListNameById(ctx context.Context, in *UpdateTodoListNameByIdRequest, opts ...grpc.CallOption) (*UpdateTodoListNameByIdResponse, error)
}

type todoServiceClient struct {
	cc grpc.ClientConnInterface
}

func NewTodoServiceClient(cc grpc.ClientConnInterface) TodoServiceClient {
	return &todoServiceClient{cc}
}

func (c *todoServiceClient) CreateTodoList(ctx context.Context, in *CreateTodoListRequest, opts ...grpc.CallOption) (*CreateTodoListResponse, error) {
	out := new(CreateTodoListResponse)
	err := c.cc.Invoke(ctx, "/todo.TodoService/CreateTodoList", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) CreateTodo(ctx context.Context, in *CreateTodoRequest, opts ...grpc.CallOption) (*CreateTodoResponse, error) {
	out := new(CreateTodoResponse)
	err := c.cc.Invoke(ctx, "/todo.TodoService/CreateTodo", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) GetTodosFromList(ctx context.Context, in *GetTodosFromListRequest, opts ...grpc.CallOption) (*GetTodosFromListResponse, error) {
	out := new(GetTodosFromListResponse)
	err := c.cc.Invoke(ctx, "/todo.TodoService/GetTodosFromList", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) GetTodoLists(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetTodoListsResponse, error) {
	out := new(GetTodoListsResponse)
	err := c.cc.Invoke(ctx, "/todo.TodoService/GetTodoLists", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) DeleteTodoById(ctx context.Context, in *DeleteTodoByIdRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/todo.TodoService/DeleteTodoById", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) DeleteTodoListById(ctx context.Context, in *DeleteTodoListByIdRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
	out := new(emptypb.Empty)
	err := c.cc.Invoke(ctx, "/todo.TodoService/DeleteTodoListById", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) GetTodoById(ctx context.Context, in *GetTodoByIdRequest, opts ...grpc.CallOption) (*GetTodoByIdResponse, error) {
	out := new(GetTodoByIdResponse)
	err := c.cc.Invoke(ctx, "/todo.TodoService/GetTodoById", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) GetAllTodos(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetAllTodosResponse, error) {
	out := new(GetAllTodosResponse)
	err := c.cc.Invoke(ctx, "/todo.TodoService/GetAllTodos", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) UpdateTodoNameById(ctx context.Context, in *UpdateTodoNameByIdRequest, opts ...grpc.CallOption) (*UpdateTodoNameByIdResponse, error) {
	out := new(UpdateTodoNameByIdResponse)
	err := c.cc.Invoke(ctx, "/todo.TodoService/UpdateTodoNameById", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) UpdateTodoContentById(ctx context.Context, in *UpdateTodoContentByIdRequest, opts ...grpc.CallOption) (*UpdateTodoContentByIdResponse, error) {
	out := new(UpdateTodoContentByIdResponse)
	err := c.cc.Invoke(ctx, "/todo.TodoService/UpdateTodoContentById", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) UpdateTodoStatusById(ctx context.Context, in *UpdateTodoStatusByIdRequest, opts ...grpc.CallOption) (*UpdateTodoStatusByIdResponse, error) {
	out := new(UpdateTodoStatusByIdResponse)
	err := c.cc.Invoke(ctx, "/todo.TodoService/UpdateTodoStatusById", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

func (c *todoServiceClient) UpdateTodoListNameById(ctx context.Context, in *UpdateTodoListNameByIdRequest, opts ...grpc.CallOption) (*UpdateTodoListNameByIdResponse, error) {
	out := new(UpdateTodoListNameByIdResponse)
	err := c.cc.Invoke(ctx, "/todo.TodoService/UpdateTodoListNameById", in, out, opts...)
	if err != nil {
		return nil, err
	}
	return out, nil
}

// TodoServiceServer is the server API for TodoService service.
// All implementations must embed UnimplementedTodoServiceServer
// for forward compatibility
type TodoServiceServer interface {
	CreateTodoList(context.Context, *CreateTodoListRequest) (*CreateTodoListResponse, error)
	CreateTodo(context.Context, *CreateTodoRequest) (*CreateTodoResponse, error)
	GetTodosFromList(context.Context, *GetTodosFromListRequest) (*GetTodosFromListResponse, error)
	GetTodoLists(context.Context, *emptypb.Empty) (*GetTodoListsResponse, error)
	DeleteTodoById(context.Context, *DeleteTodoByIdRequest) (*emptypb.Empty, error)
	DeleteTodoListById(context.Context, *DeleteTodoListByIdRequest) (*emptypb.Empty, error)
	GetTodoById(context.Context, *GetTodoByIdRequest) (*GetTodoByIdResponse, error)
	GetAllTodos(context.Context, *emptypb.Empty) (*GetAllTodosResponse, error)
	UpdateTodoNameById(context.Context, *UpdateTodoNameByIdRequest) (*UpdateTodoNameByIdResponse, error)
	UpdateTodoContentById(context.Context, *UpdateTodoContentByIdRequest) (*UpdateTodoContentByIdResponse, error)
	UpdateTodoStatusById(context.Context, *UpdateTodoStatusByIdRequest) (*UpdateTodoStatusByIdResponse, error)
	UpdateTodoListNameById(context.Context, *UpdateTodoListNameByIdRequest) (*UpdateTodoListNameByIdResponse, error)
	mustEmbedUnimplementedTodoServiceServer()
}

// UnimplementedTodoServiceServer must be embedded to have forward compatible implementations.
type UnimplementedTodoServiceServer struct {
}

func (UnimplementedTodoServiceServer) CreateTodoList(context.Context, *CreateTodoListRequest) (*CreateTodoListResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateTodoList not implemented")
}
func (UnimplementedTodoServiceServer) CreateTodo(context.Context, *CreateTodoRequest) (*CreateTodoResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method CreateTodo not implemented")
}
func (UnimplementedTodoServiceServer) GetTodosFromList(context.Context, *GetTodosFromListRequest) (*GetTodosFromListResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetTodosFromList not implemented")
}
func (UnimplementedTodoServiceServer) GetTodoLists(context.Context, *emptypb.Empty) (*GetTodoListsResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetTodoLists not implemented")
}
func (UnimplementedTodoServiceServer) DeleteTodoById(context.Context, *DeleteTodoByIdRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteTodoById not implemented")
}
func (UnimplementedTodoServiceServer) DeleteTodoListById(context.Context, *DeleteTodoListByIdRequest) (*emptypb.Empty, error) {
	return nil, status.Errorf(codes.Unimplemented, "method DeleteTodoListById not implemented")
}
func (UnimplementedTodoServiceServer) GetTodoById(context.Context, *GetTodoByIdRequest) (*GetTodoByIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetTodoById not implemented")
}
func (UnimplementedTodoServiceServer) GetAllTodos(context.Context, *emptypb.Empty) (*GetAllTodosResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method GetAllTodos not implemented")
}
func (UnimplementedTodoServiceServer) UpdateTodoNameById(context.Context, *UpdateTodoNameByIdRequest) (*UpdateTodoNameByIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateTodoNameById not implemented")
}
func (UnimplementedTodoServiceServer) UpdateTodoContentById(context.Context, *UpdateTodoContentByIdRequest) (*UpdateTodoContentByIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateTodoContentById not implemented")
}
func (UnimplementedTodoServiceServer) UpdateTodoStatusById(context.Context, *UpdateTodoStatusByIdRequest) (*UpdateTodoStatusByIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateTodoStatusById not implemented")
}
func (UnimplementedTodoServiceServer) UpdateTodoListNameById(context.Context, *UpdateTodoListNameByIdRequest) (*UpdateTodoListNameByIdResponse, error) {
	return nil, status.Errorf(codes.Unimplemented, "method UpdateTodoListNameById not implemented")
}
func (UnimplementedTodoServiceServer) mustEmbedUnimplementedTodoServiceServer() {}

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

func RegisterTodoServiceServer(s grpc.ServiceRegistrar, srv TodoServiceServer) {
	s.RegisterService(&TodoService_ServiceDesc, srv)
}

func _TodoService_CreateTodoList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateTodoListRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).CreateTodoList(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/CreateTodoList",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).CreateTodoList(ctx, req.(*CreateTodoListRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_CreateTodo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(CreateTodoRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).CreateTodo(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/CreateTodo",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).CreateTodo(ctx, req.(*CreateTodoRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_GetTodosFromList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetTodosFromListRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).GetTodosFromList(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/GetTodosFromList",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).GetTodosFromList(ctx, req.(*GetTodosFromListRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_GetTodoLists_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(emptypb.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).GetTodoLists(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/GetTodoLists",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).GetTodoLists(ctx, req.(*emptypb.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_DeleteTodoById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteTodoByIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).DeleteTodoById(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/DeleteTodoById",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).DeleteTodoById(ctx, req.(*DeleteTodoByIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_DeleteTodoListById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(DeleteTodoListByIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).DeleteTodoListById(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/DeleteTodoListById",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).DeleteTodoListById(ctx, req.(*DeleteTodoListByIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_GetTodoById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(GetTodoByIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).GetTodoById(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/GetTodoById",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).GetTodoById(ctx, req.(*GetTodoByIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_GetAllTodos_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(emptypb.Empty)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).GetAllTodos(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/GetAllTodos",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).GetAllTodos(ctx, req.(*emptypb.Empty))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_UpdateTodoNameById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateTodoNameByIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).UpdateTodoNameById(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/UpdateTodoNameById",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).UpdateTodoNameById(ctx, req.(*UpdateTodoNameByIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_UpdateTodoContentById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateTodoContentByIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).UpdateTodoContentById(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/UpdateTodoContentById",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).UpdateTodoContentById(ctx, req.(*UpdateTodoContentByIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_UpdateTodoStatusById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateTodoStatusByIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).UpdateTodoStatusById(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/UpdateTodoStatusById",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).UpdateTodoStatusById(ctx, req.(*UpdateTodoStatusByIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _TodoService_UpdateTodoListNameById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(UpdateTodoListNameByIdRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(TodoServiceServer).UpdateTodoListNameById(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/todo.TodoService/UpdateTodoListNameById",
	}
	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
		return srv.(TodoServiceServer).UpdateTodoListNameById(ctx, req.(*UpdateTodoListNameByIdRequest))
	}
	return interceptor(ctx, in, info, handler)
}

// TodoService_ServiceDesc is the grpc.ServiceDesc for TodoService service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var TodoService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "todo.TodoService",
	HandlerType: (*TodoServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "CreateTodoList",
			Handler:    _TodoService_CreateTodoList_Handler,
		},
		{
			MethodName: "CreateTodo",
			Handler:    _TodoService_CreateTodo_Handler,
		},
		{
			MethodName: "GetTodosFromList",
			Handler:    _TodoService_GetTodosFromList_Handler,
		},
		{
			MethodName: "GetTodoLists",
			Handler:    _TodoService_GetTodoLists_Handler,
		},
		{
			MethodName: "DeleteTodoById",
			Handler:    _TodoService_DeleteTodoById_Handler,
		},
		{
			MethodName: "DeleteTodoListById",
			Handler:    _TodoService_DeleteTodoListById_Handler,
		},
		{
			MethodName: "GetTodoById",
			Handler:    _TodoService_GetTodoById_Handler,
		},
		{
			MethodName: "GetAllTodos",
			Handler:    _TodoService_GetAllTodos_Handler,
		},
		{
			MethodName: "UpdateTodoNameById",
			Handler:    _TodoService_UpdateTodoNameById_Handler,
		},
		{
			MethodName: "UpdateTodoContentById",
			Handler:    _TodoService_UpdateTodoContentById_Handler,
		},
		{
			MethodName: "UpdateTodoStatusById",
			Handler:    _TodoService_UpdateTodoStatusById_Handler,
		},
		{
			MethodName: "UpdateTodoListNameById",
			Handler:    _TodoService_UpdateTodoListNameById_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "proto/todo.proto",
}
