// Code generated by protoc-gen-go-plugin. DO NOT EDIT.
// versions:
// 	protoc-gen-go-plugin v0.1.0
// 	protoc               v5.29.3
// source: examples/known-types/known/known.proto

package known

import (
	context "context"
	durationpb "github.com/knqyf263/go-plugin/types/known/durationpb"
	structpb "github.com/knqyf263/go-plugin/types/known/structpb"
	timestamppb "github.com/knqyf263/go-plugin/types/known/timestamppb"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type DiffRequest struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Value *structpb.Value        `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
	Start *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=start,proto3" json:"start,omitempty"`
	End   *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=end,proto3" json:"end,omitempty"`
}

func (x *DiffRequest) ProtoReflect() protoreflect.Message {
	panic(`not implemented`)
}

func (x *DiffRequest) GetValue() *structpb.Value {
	if x != nil {
		return x.Value
	}
	return nil
}

func (x *DiffRequest) GetStart() *timestamppb.Timestamp {
	if x != nil {
		return x.Start
	}
	return nil
}

func (x *DiffRequest) GetEnd() *timestamppb.Timestamp {
	if x != nil {
		return x.End
	}
	return nil
}

type DiffReply struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Duration *durationpb.Duration `protobuf:"bytes,1,opt,name=duration,proto3" json:"duration,omitempty"`
}

func (x *DiffReply) ProtoReflect() protoreflect.Message {
	panic(`not implemented`)
}

func (x *DiffReply) GetDuration() *durationpb.Duration {
	if x != nil {
		return x.Duration
	}
	return nil
}

// The greeting service definition.
// go:plugin type=plugin
type WellKnown interface {
	Diff(context.Context, *DiffRequest) (*DiffReply, error)
}
