// Code generated by depstubber. DO NOT EDIT.
// This is a simple stub for go-micro.dev/v4, strictly for use in testing.

// See the LICENSE file for information about the licensing of the original library.
// Source: go-micro.dev/v4 (exports: Service,Option,Options; functions: NewService,Name,Handle,Server,Client)

// Package go_pkg is a stub of go-micro.dev/v4, generated by depstubber.
package go_pkg

import (
	context "context"

	"go-micro.dev/v4/client"
	"go-micro.dev/v4/server"
)

func Client(_ interface{}) Option {
	return nil
}

func Handle(_ interface{}) Option {
	return nil
}

func Name(_ string) Option {
	return nil
}

func NewService(_ ...Option) Service {
	return nil
}

type Option func(*Options)

type Options struct {
	Registry    interface{}
	Store       interface{}
	Auth        interface{}
	Cmd         interface{}
	Config      interface{}
	Client      interface{}
	Server      interface{}
	Context     context.Context
	Cache       interface{}
	Runtime     interface{}
	Profile     interface{}
	Transport   interface{}
	Logger      interface{}
	Broker      interface{}
	BeforeStart []func() error
	AfterStart  []func() error
	AfterStop   []func() error
	BeforeStop  []func() error
	Signal      bool
}

func Server(_ interface{}) Option {
	return nil
}

type Service interface {
	Client() client.Client
	Init(_ ...Option)
	Name() string
	Options() Options
	Run() error
	Server() server.Server
	String() string
}
