// Copyright 2023-2025 Buf Technologies, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        (unknown)
// source: buf/validate/conformance/cases/wkt_duration.proto

package cases

import (
	_ "github.com/bufbuild/protovalidate/tools/internal/gen/buf/validate"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

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 DurationNone struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Val           *durationpb.Duration   `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DurationNone) Reset() {
	*x = DurationNone{}
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DurationNone) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DurationNone) ProtoMessage() {}

func (x *DurationNone) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DurationNone.ProtoReflect.Descriptor instead.
func (*DurationNone) Descriptor() ([]byte, []int) {
	return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP(), []int{0}
}

func (x *DurationNone) GetVal() *durationpb.Duration {
	if x != nil {
		return x.Val
	}
	return nil
}

type DurationRequired struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Val           *durationpb.Duration   `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DurationRequired) Reset() {
	*x = DurationRequired{}
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DurationRequired) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DurationRequired) ProtoMessage() {}

func (x *DurationRequired) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DurationRequired.ProtoReflect.Descriptor instead.
func (*DurationRequired) Descriptor() ([]byte, []int) {
	return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP(), []int{1}
}

func (x *DurationRequired) GetVal() *durationpb.Duration {
	if x != nil {
		return x.Val
	}
	return nil
}

type DurationConst struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Val           *durationpb.Duration   `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DurationConst) Reset() {
	*x = DurationConst{}
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DurationConst) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DurationConst) ProtoMessage() {}

func (x *DurationConst) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DurationConst.ProtoReflect.Descriptor instead.
func (*DurationConst) Descriptor() ([]byte, []int) {
	return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP(), []int{2}
}

func (x *DurationConst) GetVal() *durationpb.Duration {
	if x != nil {
		return x.Val
	}
	return nil
}

type DurationIn struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Val           *durationpb.Duration   `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DurationIn) Reset() {
	*x = DurationIn{}
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DurationIn) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DurationIn) ProtoMessage() {}

func (x *DurationIn) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DurationIn.ProtoReflect.Descriptor instead.
func (*DurationIn) Descriptor() ([]byte, []int) {
	return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP(), []int{3}
}

func (x *DurationIn) GetVal() *durationpb.Duration {
	if x != nil {
		return x.Val
	}
	return nil
}

type DurationNotIn struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Val           *durationpb.Duration   `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DurationNotIn) Reset() {
	*x = DurationNotIn{}
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DurationNotIn) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DurationNotIn) ProtoMessage() {}

func (x *DurationNotIn) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DurationNotIn.ProtoReflect.Descriptor instead.
func (*DurationNotIn) Descriptor() ([]byte, []int) {
	return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP(), []int{4}
}

func (x *DurationNotIn) GetVal() *durationpb.Duration {
	if x != nil {
		return x.Val
	}
	return nil
}

type DurationLT struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Val           *durationpb.Duration   `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DurationLT) Reset() {
	*x = DurationLT{}
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DurationLT) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DurationLT) ProtoMessage() {}

func (x *DurationLT) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DurationLT.ProtoReflect.Descriptor instead.
func (*DurationLT) Descriptor() ([]byte, []int) {
	return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP(), []int{5}
}

func (x *DurationLT) GetVal() *durationpb.Duration {
	if x != nil {
		return x.Val
	}
	return nil
}

type DurationLTE struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Val           *durationpb.Duration   `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DurationLTE) Reset() {
	*x = DurationLTE{}
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DurationLTE) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DurationLTE) ProtoMessage() {}

func (x *DurationLTE) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DurationLTE.ProtoReflect.Descriptor instead.
func (*DurationLTE) Descriptor() ([]byte, []int) {
	return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP(), []int{6}
}

func (x *DurationLTE) GetVal() *durationpb.Duration {
	if x != nil {
		return x.Val
	}
	return nil
}

type DurationGT struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Val           *durationpb.Duration   `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DurationGT) Reset() {
	*x = DurationGT{}
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DurationGT) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DurationGT) ProtoMessage() {}

func (x *DurationGT) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DurationGT.ProtoReflect.Descriptor instead.
func (*DurationGT) Descriptor() ([]byte, []int) {
	return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP(), []int{7}
}

func (x *DurationGT) GetVal() *durationpb.Duration {
	if x != nil {
		return x.Val
	}
	return nil
}

type DurationGTE struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Val           *durationpb.Duration   `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DurationGTE) Reset() {
	*x = DurationGTE{}
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DurationGTE) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DurationGTE) ProtoMessage() {}

func (x *DurationGTE) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DurationGTE.ProtoReflect.Descriptor instead.
func (*DurationGTE) Descriptor() ([]byte, []int) {
	return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP(), []int{8}
}

func (x *DurationGTE) GetVal() *durationpb.Duration {
	if x != nil {
		return x.Val
	}
	return nil
}

type DurationGTLT struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Val           *durationpb.Duration   `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DurationGTLT) Reset() {
	*x = DurationGTLT{}
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DurationGTLT) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DurationGTLT) ProtoMessage() {}

func (x *DurationGTLT) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DurationGTLT.ProtoReflect.Descriptor instead.
func (*DurationGTLT) Descriptor() ([]byte, []int) {
	return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP(), []int{9}
}

func (x *DurationGTLT) GetVal() *durationpb.Duration {
	if x != nil {
		return x.Val
	}
	return nil
}

type DurationExLTGT struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Val           *durationpb.Duration   `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DurationExLTGT) Reset() {
	*x = DurationExLTGT{}
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DurationExLTGT) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DurationExLTGT) ProtoMessage() {}

func (x *DurationExLTGT) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DurationExLTGT.ProtoReflect.Descriptor instead.
func (*DurationExLTGT) Descriptor() ([]byte, []int) {
	return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP(), []int{10}
}

func (x *DurationExLTGT) GetVal() *durationpb.Duration {
	if x != nil {
		return x.Val
	}
	return nil
}

type DurationGTELTE struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Val           *durationpb.Duration   `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DurationGTELTE) Reset() {
	*x = DurationGTELTE{}
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DurationGTELTE) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DurationGTELTE) ProtoMessage() {}

func (x *DurationGTELTE) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DurationGTELTE.ProtoReflect.Descriptor instead.
func (*DurationGTELTE) Descriptor() ([]byte, []int) {
	return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP(), []int{11}
}

func (x *DurationGTELTE) GetVal() *durationpb.Duration {
	if x != nil {
		return x.Val
	}
	return nil
}

type DurationExGTELTE struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Val           *durationpb.Duration   `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DurationExGTELTE) Reset() {
	*x = DurationExGTELTE{}
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DurationExGTELTE) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DurationExGTELTE) ProtoMessage() {}

func (x *DurationExGTELTE) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DurationExGTELTE.ProtoReflect.Descriptor instead.
func (*DurationExGTELTE) Descriptor() ([]byte, []int) {
	return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP(), []int{12}
}

func (x *DurationExGTELTE) GetVal() *durationpb.Duration {
	if x != nil {
		return x.Val
	}
	return nil
}

// Regression for earlier bug where missing Duration field would short circuit
// evaluation in C++.
type DurationFieldWithOtherFields struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	DurationVal   *durationpb.Duration   `protobuf:"bytes,1,opt,name=duration_val,json=durationVal,proto3" json:"duration_val,omitempty"`
	IntVal        int32                  `protobuf:"varint,2,opt,name=int_val,json=intVal,proto3" json:"int_val,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DurationFieldWithOtherFields) Reset() {
	*x = DurationFieldWithOtherFields{}
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DurationFieldWithOtherFields) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DurationFieldWithOtherFields) ProtoMessage() {}

func (x *DurationFieldWithOtherFields) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DurationFieldWithOtherFields.ProtoReflect.Descriptor instead.
func (*DurationFieldWithOtherFields) Descriptor() ([]byte, []int) {
	return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP(), []int{13}
}

func (x *DurationFieldWithOtherFields) GetDurationVal() *durationpb.Duration {
	if x != nil {
		return x.DurationVal
	}
	return nil
}

func (x *DurationFieldWithOtherFields) GetIntVal() int32 {
	if x != nil {
		return x.IntVal
	}
	return 0
}

type DurationExample struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Val           *durationpb.Duration   `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DurationExample) Reset() {
	*x = DurationExample{}
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DurationExample) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DurationExample) ProtoMessage() {}

func (x *DurationExample) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DurationExample.ProtoReflect.Descriptor instead.
func (*DurationExample) Descriptor() ([]byte, []int) {
	return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP(), []int{14}
}

func (x *DurationExample) GetVal() *durationpb.Duration {
	if x != nil {
		return x.Val
	}
	return nil
}

// The below messages should throw compilation errors due to incorrect types.
type DurationWrongTypeScalar struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Seconds       int32                  `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DurationWrongTypeScalar) Reset() {
	*x = DurationWrongTypeScalar{}
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DurationWrongTypeScalar) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DurationWrongTypeScalar) ProtoMessage() {}

func (x *DurationWrongTypeScalar) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DurationWrongTypeScalar.ProtoReflect.Descriptor instead.
func (*DurationWrongTypeScalar) Descriptor() ([]byte, []int) {
	return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP(), []int{15}
}

func (x *DurationWrongTypeScalar) GetSeconds() int32 {
	if x != nil {
		return x.Seconds
	}
	return 0
}

type DurationWrongTypeMessage struct {
	state         protoimpl.MessageState              `protogen:"open.v1"`
	Val           *DurationWrongTypeMessage_WrongType `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DurationWrongTypeMessage) Reset() {
	*x = DurationWrongTypeMessage{}
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DurationWrongTypeMessage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DurationWrongTypeMessage) ProtoMessage() {}

func (x *DurationWrongTypeMessage) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DurationWrongTypeMessage.ProtoReflect.Descriptor instead.
func (*DurationWrongTypeMessage) Descriptor() ([]byte, []int) {
	return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP(), []int{16}
}

func (x *DurationWrongTypeMessage) GetVal() *DurationWrongTypeMessage_WrongType {
	if x != nil {
		return x.Val
	}
	return nil
}

type DurationWrongTypeWrapper struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Val           *wrapperspb.Int32Value `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DurationWrongTypeWrapper) Reset() {
	*x = DurationWrongTypeWrapper{}
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DurationWrongTypeWrapper) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DurationWrongTypeWrapper) ProtoMessage() {}

func (x *DurationWrongTypeWrapper) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DurationWrongTypeWrapper.ProtoReflect.Descriptor instead.
func (*DurationWrongTypeWrapper) Descriptor() ([]byte, []int) {
	return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP(), []int{17}
}

func (x *DurationWrongTypeWrapper) GetVal() *wrapperspb.Int32Value {
	if x != nil {
		return x.Val
	}
	return nil
}

type DurationWrongTypeWKT struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Val           *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=val,proto3" json:"val,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DurationWrongTypeWKT) Reset() {
	*x = DurationWrongTypeWKT{}
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DurationWrongTypeWKT) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DurationWrongTypeWKT) ProtoMessage() {}

func (x *DurationWrongTypeWKT) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DurationWrongTypeWKT.ProtoReflect.Descriptor instead.
func (*DurationWrongTypeWKT) Descriptor() ([]byte, []int) {
	return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP(), []int{18}
}

func (x *DurationWrongTypeWKT) GetVal() *timestamppb.Timestamp {
	if x != nil {
		return x.Val
	}
	return nil
}

type DurationWrongTypeMessage_WrongType struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Seconds       int32                  `protobuf:"varint,1,opt,name=seconds,proto3" json:"seconds,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DurationWrongTypeMessage_WrongType) Reset() {
	*x = DurationWrongTypeMessage_WrongType{}
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DurationWrongTypeMessage_WrongType) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DurationWrongTypeMessage_WrongType) ProtoMessage() {}

func (x *DurationWrongTypeMessage_WrongType) ProtoReflect() protoreflect.Message {
	mi := &file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes[19]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DurationWrongTypeMessage_WrongType.ProtoReflect.Descriptor instead.
func (*DurationWrongTypeMessage_WrongType) Descriptor() ([]byte, []int) {
	return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP(), []int{16, 0}
}

func (x *DurationWrongTypeMessage_WrongType) GetSeconds() int32 {
	if x != nil {
		return x.Seconds
	}
	return 0
}

var File_buf_validate_conformance_cases_wkt_duration_proto protoreflect.FileDescriptor

const file_buf_validate_conformance_cases_wkt_duration_proto_rawDesc = "" +
	"\n" +
	"1buf/validate/conformance/cases/wkt_duration.proto\x12\x1ebuf.validate.conformance.cases\x1a\x1bbuf/validate/validate.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\";\n" +
	"\fDurationNone\x12+\n" +
	"\x03val\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\x03val\"G\n" +
	"\x10DurationRequired\x123\n" +
	"\x03val\x18\x01 \x01(\v2\x19.google.protobuf.DurationB\x06\xbaH\x03\xc8\x01\x01R\x03val\"H\n" +
	"\rDurationConst\x127\n" +
	"\x03val\x18\x01 \x01(\v2\x19.google.protobuf.DurationB\n" +
	"\xbaH\a\xaa\x01\x04\x12\x02\b\x03R\x03val\"J\n" +
	"\n" +
	"DurationIn\x12<\n" +
	"\x03val\x18\x01 \x01(\v2\x19.google.protobuf.DurationB\x0f\xbaH\f\xaa\x01\t:\x02\b\x01:\x03\x10\xe8\aR\x03val\"F\n" +
	"\rDurationNotIn\x125\n" +
	"\x03val\x18\x01 \x01(\v2\x19.google.protobuf.DurationB\b\xbaH\x05\xaa\x01\x02B\x00R\x03val\"C\n" +
	"\n" +
	"DurationLT\x125\n" +
	"\x03val\x18\x01 \x01(\v2\x19.google.protobuf.DurationB\b\xbaH\x05\xaa\x01\x02\x1a\x00R\x03val\"F\n" +
	"\vDurationLTE\x127\n" +
	"\x03val\x18\x01 \x01(\v2\x19.google.protobuf.DurationB\n" +
	"\xbaH\a\xaa\x01\x04\"\x02\b\x01R\x03val\"F\n" +
	"\n" +
	"DurationGT\x128\n" +
	"\x03val\x18\x01 \x01(\v2\x19.google.protobuf.DurationB\v\xbaH\b\xaa\x01\x05*\x03\x10\xe8\aR\x03val\"H\n" +
	"\vDurationGTE\x129\n" +
	"\x03val\x18\x01 \x01(\v2\x19.google.protobuf.DurationB\f\xbaH\t\xaa\x01\x062\x04\x10\xc0\x84=R\x03val\"I\n" +
	"\fDurationGTLT\x129\n" +
	"\x03val\x18\x01 \x01(\v2\x19.google.protobuf.DurationB\f\xbaH\t\xaa\x01\x06\x1a\x02\b\x01*\x00R\x03val\"K\n" +
	"\x0eDurationExLTGT\x129\n" +
	"\x03val\x18\x01 \x01(\v2\x19.google.protobuf.DurationB\f\xbaH\t\xaa\x01\x06\x1a\x00*\x02\b\x01R\x03val\"N\n" +
	"\x0eDurationGTELTE\x12<\n" +
	"\x03val\x18\x01 \x01(\v2\x19.google.protobuf.DurationB\x0f\xbaH\f\xaa\x01\t\"\x03\b\x90\x1c2\x02\b<R\x03val\"P\n" +
	"\x10DurationExGTELTE\x12<\n" +
	"\x03val\x18\x01 \x01(\v2\x19.google.protobuf.DurationB\x0f\xbaH\f\xaa\x01\t\"\x02\b<2\x03\b\x90\x1cR\x03val\"\x8a\x01\n" +
	"\x1cDurationFieldWithOtherFields\x12H\n" +
	"\fduration_val\x18\x01 \x01(\v2\x19.google.protobuf.DurationB\n" +
	"\xbaH\a\xaa\x01\x04\"\x02\b\x01R\vdurationVal\x12 \n" +
	"\aint_val\x18\x02 \x01(\x05B\a\xbaH\x04\x1a\x02 \x10R\x06intVal\"J\n" +
	"\x0fDurationExample\x127\n" +
	"\x03val\x18\x01 \x01(\v2\x19.google.protobuf.DurationB\n" +
	"\xbaH\a\xaa\x01\x04J\x02\b\x03R\x03val\"?\n" +
	"\x17DurationWrongTypeScalar\x12$\n" +
	"\aseconds\x18\x01 \x01(\x05B\n" +
	"\xbaH\a\xaa\x01\x04\"\x02\b\x01R\aseconds\"\xa3\x01\n" +
	"\x18DurationWrongTypeMessage\x12`\n" +
	"\x03val\x18\x01 \x01(\v2B.buf.validate.conformance.cases.DurationWrongTypeMessage.WrongTypeB\n" +
	"\xbaH\a\xaa\x01\x04\"\x02\b\x01R\x03val\x1a%\n" +
	"\tWrongType\x12\x18\n" +
	"\aseconds\x18\x01 \x01(\x05R\aseconds\"U\n" +
	"\x18DurationWrongTypeWrapper\x129\n" +
	"\x03val\x18\x01 \x01(\v2\x1b.google.protobuf.Int32ValueB\n" +
	"\xbaH\a\xaa\x01\x04J\x02\b\x03R\x03val\"P\n" +
	"\x14DurationWrongTypeWKT\x128\n" +
	"\x03val\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampB\n" +
	"\xbaH\a\xaa\x01\x04J\x02\b\x03R\x03valB\xa7\x02\n" +
	"\"com.buf.validate.conformance.casesB\x10WktDurationProtoP\x01ZSgithub.com/bufbuild/protovalidate/tools/internal/gen/buf/validate/conformance/cases\xa2\x02\x04BVCC\xaa\x02\x1eBuf.Validate.Conformance.Cases\xca\x02\x1eBuf\\Validate\\Conformance\\Cases\xe2\x02*Buf\\Validate\\Conformance\\Cases\\GPBMetadata\xea\x02!Buf::Validate::Conformance::Casesb\x06proto3"

var (
	file_buf_validate_conformance_cases_wkt_duration_proto_rawDescOnce sync.Once
	file_buf_validate_conformance_cases_wkt_duration_proto_rawDescData []byte
)

func file_buf_validate_conformance_cases_wkt_duration_proto_rawDescGZIP() []byte {
	file_buf_validate_conformance_cases_wkt_duration_proto_rawDescOnce.Do(func() {
		file_buf_validate_conformance_cases_wkt_duration_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_buf_validate_conformance_cases_wkt_duration_proto_rawDesc), len(file_buf_validate_conformance_cases_wkt_duration_proto_rawDesc)))
	})
	return file_buf_validate_conformance_cases_wkt_duration_proto_rawDescData
}

var file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes = make([]protoimpl.MessageInfo, 20)
var file_buf_validate_conformance_cases_wkt_duration_proto_goTypes = []any{
	(*DurationNone)(nil),                       // 0: buf.validate.conformance.cases.DurationNone
	(*DurationRequired)(nil),                   // 1: buf.validate.conformance.cases.DurationRequired
	(*DurationConst)(nil),                      // 2: buf.validate.conformance.cases.DurationConst
	(*DurationIn)(nil),                         // 3: buf.validate.conformance.cases.DurationIn
	(*DurationNotIn)(nil),                      // 4: buf.validate.conformance.cases.DurationNotIn
	(*DurationLT)(nil),                         // 5: buf.validate.conformance.cases.DurationLT
	(*DurationLTE)(nil),                        // 6: buf.validate.conformance.cases.DurationLTE
	(*DurationGT)(nil),                         // 7: buf.validate.conformance.cases.DurationGT
	(*DurationGTE)(nil),                        // 8: buf.validate.conformance.cases.DurationGTE
	(*DurationGTLT)(nil),                       // 9: buf.validate.conformance.cases.DurationGTLT
	(*DurationExLTGT)(nil),                     // 10: buf.validate.conformance.cases.DurationExLTGT
	(*DurationGTELTE)(nil),                     // 11: buf.validate.conformance.cases.DurationGTELTE
	(*DurationExGTELTE)(nil),                   // 12: buf.validate.conformance.cases.DurationExGTELTE
	(*DurationFieldWithOtherFields)(nil),       // 13: buf.validate.conformance.cases.DurationFieldWithOtherFields
	(*DurationExample)(nil),                    // 14: buf.validate.conformance.cases.DurationExample
	(*DurationWrongTypeScalar)(nil),            // 15: buf.validate.conformance.cases.DurationWrongTypeScalar
	(*DurationWrongTypeMessage)(nil),           // 16: buf.validate.conformance.cases.DurationWrongTypeMessage
	(*DurationWrongTypeWrapper)(nil),           // 17: buf.validate.conformance.cases.DurationWrongTypeWrapper
	(*DurationWrongTypeWKT)(nil),               // 18: buf.validate.conformance.cases.DurationWrongTypeWKT
	(*DurationWrongTypeMessage_WrongType)(nil), // 19: buf.validate.conformance.cases.DurationWrongTypeMessage.WrongType
	(*durationpb.Duration)(nil),                // 20: google.protobuf.Duration
	(*wrapperspb.Int32Value)(nil),              // 21: google.protobuf.Int32Value
	(*timestamppb.Timestamp)(nil),              // 22: google.protobuf.Timestamp
}
var file_buf_validate_conformance_cases_wkt_duration_proto_depIdxs = []int32{
	20, // 0: buf.validate.conformance.cases.DurationNone.val:type_name -> google.protobuf.Duration
	20, // 1: buf.validate.conformance.cases.DurationRequired.val:type_name -> google.protobuf.Duration
	20, // 2: buf.validate.conformance.cases.DurationConst.val:type_name -> google.protobuf.Duration
	20, // 3: buf.validate.conformance.cases.DurationIn.val:type_name -> google.protobuf.Duration
	20, // 4: buf.validate.conformance.cases.DurationNotIn.val:type_name -> google.protobuf.Duration
	20, // 5: buf.validate.conformance.cases.DurationLT.val:type_name -> google.protobuf.Duration
	20, // 6: buf.validate.conformance.cases.DurationLTE.val:type_name -> google.protobuf.Duration
	20, // 7: buf.validate.conformance.cases.DurationGT.val:type_name -> google.protobuf.Duration
	20, // 8: buf.validate.conformance.cases.DurationGTE.val:type_name -> google.protobuf.Duration
	20, // 9: buf.validate.conformance.cases.DurationGTLT.val:type_name -> google.protobuf.Duration
	20, // 10: buf.validate.conformance.cases.DurationExLTGT.val:type_name -> google.protobuf.Duration
	20, // 11: buf.validate.conformance.cases.DurationGTELTE.val:type_name -> google.protobuf.Duration
	20, // 12: buf.validate.conformance.cases.DurationExGTELTE.val:type_name -> google.protobuf.Duration
	20, // 13: buf.validate.conformance.cases.DurationFieldWithOtherFields.duration_val:type_name -> google.protobuf.Duration
	20, // 14: buf.validate.conformance.cases.DurationExample.val:type_name -> google.protobuf.Duration
	19, // 15: buf.validate.conformance.cases.DurationWrongTypeMessage.val:type_name -> buf.validate.conformance.cases.DurationWrongTypeMessage.WrongType
	21, // 16: buf.validate.conformance.cases.DurationWrongTypeWrapper.val:type_name -> google.protobuf.Int32Value
	22, // 17: buf.validate.conformance.cases.DurationWrongTypeWKT.val:type_name -> google.protobuf.Timestamp
	18, // [18:18] is the sub-list for method output_type
	18, // [18:18] is the sub-list for method input_type
	18, // [18:18] is the sub-list for extension type_name
	18, // [18:18] is the sub-list for extension extendee
	0,  // [0:18] is the sub-list for field type_name
}

func init() { file_buf_validate_conformance_cases_wkt_duration_proto_init() }
func file_buf_validate_conformance_cases_wkt_duration_proto_init() {
	if File_buf_validate_conformance_cases_wkt_duration_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_buf_validate_conformance_cases_wkt_duration_proto_rawDesc), len(file_buf_validate_conformance_cases_wkt_duration_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   20,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_buf_validate_conformance_cases_wkt_duration_proto_goTypes,
		DependencyIndexes: file_buf_validate_conformance_cases_wkt_duration_proto_depIdxs,
		MessageInfos:      file_buf_validate_conformance_cases_wkt_duration_proto_msgTypes,
	}.Build()
	File_buf_validate_conformance_cases_wkt_duration_proto = out.File
	file_buf_validate_conformance_cases_wkt_duration_proto_goTypes = nil
	file_buf_validate_conformance_cases_wkt_duration_proto_depIdxs = nil
}
