package proto

import (
	"io"
	"reflect"
)

type Config interface {
	GetComponent() string
	GetPort() int
	GetHost() string
	CheckNil() bool
	ActingName() string
	// GetValueByTagPath is used in gengine
	GetValueByTagPath(tagPath string) reflect.Value
}

type Data interface {
	ActingName() string
}

type PrintTemplate interface {
	// TemplateName() string
	CollectResult(*HandleData, interface{}) error
	Print(io.Writer)
}
