// Code generated by depstubber. DO NOT EDIT.
// This is a simple stub for k8s.io/apimachinery/pkg/runtime, strictly for use in testing.

// See the LICENSE file for information about the licensing of the original library.
// Source: k8s.io/apimachinery/pkg/runtime (exports: CacheableObject,Decoder,Encoder,Framer,WithVersionEncoder,WithoutVersionDecoder,ObjectConvertor,ObjectVersioner,ParameterCodec,ProtobufMarshaller,ProtobufReverseMarshaller,Unknown,Unstructured; functions: Convert_Slice_string_To_Pointer_int64,Convert_Slice_string_To_int,Convert_Slice_string_To_int64,Convert_Slice_string_To_string,Convert_runtime_Object_To_runtime_RawExtension,Convert_runtime_RawExtension_To_runtime_Object,Convert_string_To_Pointer_int64,Convert_string_To_int64,DecodeInto,DeepCopyJSON,DeepCopyJSONValue,Encode,EncodeOrDie,Field,FieldPtr,SetField,Decode,NewEncodable,NewEncodableList,UseOrCreateObject)

// Package runtime is a stub of k8s.io/apimachinery/pkg/runtime, generated by depstubber.
package runtime

import (
	io "io"
	url "net/url"
	reflect "reflect"

	"k8s.io/apimachinery/pkg/conversion"
	"k8s.io/apimachinery/pkg/runtime/schema"
)

type CacheableObject interface {
	CacheEncode(_ Identifier, _ func(Object, io.Writer) error, _ io.Writer) error
	GetObject() Object
}

func Convert_Slice_string_To_Pointer_int64(_ *[]string, _ **int64, _ conversion.Scope) error {
	return nil
}

func Convert_Slice_string_To_int(_ *[]string, _ *int, _ conversion.Scope) error {
	return nil
}

func Convert_Slice_string_To_int64(_ *[]string, _ *int64, _ conversion.Scope) error {
	return nil
}

func Convert_Slice_string_To_string(_ *[]string, _ *string, _ conversion.Scope) error {
	return nil
}

func Convert_runtime_Object_To_runtime_RawExtension(_ *Object, _ *RawExtension, _ conversion.Scope) error {
	return nil
}

func Convert_runtime_RawExtension_To_runtime_Object(_ *RawExtension, _ *Object, _ conversion.Scope) error {
	return nil
}

func Convert_string_To_Pointer_int64(_ *string, _ **int64, _ conversion.Scope) error {
	return nil
}

func Convert_string_To_int64(_ *string, _ *int64, _ conversion.Scope) error {
	return nil
}

func Decode(_ Decoder, _ []byte) (Object, error) {
	return nil, nil
}

func DecodeInto(_ Decoder, _ []byte, _ Object) error {
	return nil
}

type Decoder interface {
	Decode(_ []byte, _ *schema.GroupVersionKind, _ Object) (Object, *schema.GroupVersionKind, error)
}

func DeepCopyJSON(_ map[string]interface{}) map[string]interface{} {
	return nil
}

func DeepCopyJSONValue(_ interface{}) interface{} {
	return nil
}

func Encode(_ Encoder, _ Object) ([]byte, error) {
	return nil, nil
}

func EncodeOrDie(_ Encoder, _ Object) string {
	return ""
}

type Encoder interface {
	Encode(_ Object, _ io.Writer) error
	Identifier() Identifier
}

func Field(_ reflect.Value, _ string, _ interface{}) error {
	return nil
}

func FieldPtr(_ reflect.Value, _ string, _ interface{}) error {
	return nil
}

type Framer interface {
	NewFrameReader(_ io.ReadCloser) io.ReadCloser
	NewFrameWriter(_ io.Writer) io.Writer
}

type GroupVersioner interface {
	Identifier() string
	KindForGroupVersionKinds(_ []schema.GroupVersionKind) (schema.GroupVersionKind, bool)
}

type Identifier string

func NewEncodable(_ Encoder, _ Object, _ ...schema.GroupVersion) Object {
	return nil
}

func NewEncodableList(_ Encoder, _ []Object, _ ...schema.GroupVersion) []Object {
	return nil
}

type Object interface {
	DeepCopyObject() Object
	GetObjectKind() schema.ObjectKind
}

type ObjectConvertor interface {
	Convert(_ interface{}, _ interface{}, _ interface{}) error
	ConvertFieldLabel(_ schema.GroupVersionKind, _ string, _ string) (string, string, error)
	ConvertToVersion(_ Object, _ GroupVersioner) (Object, error)
}

type ObjectCreater interface {
	New(_ schema.GroupVersionKind) (Object, error)
}

type ObjectTyper interface {
	ObjectKinds(_ Object) ([]schema.GroupVersionKind, bool, error)
	Recognizes(_ schema.GroupVersionKind) bool
}

type ObjectVersioner interface {
	ConvertToVersion(_ Object, _ GroupVersioner) (Object, error)
}

type ParameterCodec interface {
	DecodeParameters(_ url.Values, _ schema.GroupVersion, _ Object) error
	EncodeParameters(_ Object, _ schema.GroupVersion) (url.Values, error)
}

type ProtobufMarshaller interface {
	MarshalTo(_ []byte) (int, error)
}

type ProtobufReverseMarshaller interface {
	MarshalToSizedBuffer(_ []byte) (int, error)
}

type RawExtension struct {
	Raw    []byte
	Object Object
}

func (_ RawExtension) MarshalJSON() ([]byte, error) {
	return nil, nil
}

func (_ *RawExtension) DeepCopy() *RawExtension {
	return nil
}

func (_ *RawExtension) DeepCopyInto(_ *RawExtension) {}

func (_ *RawExtension) Descriptor() ([]byte, []int) {
	return nil, nil
}

func (_ *RawExtension) Marshal() ([]byte, error) {
	return nil, nil
}

func (_ *RawExtension) MarshalTo(_ []byte) (int, error) {
	return 0, nil
}

func (_ *RawExtension) MarshalToSizedBuffer(_ []byte) (int, error) {
	return 0, nil
}

func (_ *RawExtension) ProtoMessage() {}

func (_ *RawExtension) Reset() {}

func (_ *RawExtension) Size() int {
	return 0
}

func (_ *RawExtension) String() string {
	return ""
}

func (_ *RawExtension) Unmarshal(_ []byte) error {
	return nil
}

func (_ *RawExtension) UnmarshalJSON(_ []byte) error {
	return nil
}

func (_ *RawExtension) XXX_DiscardUnknown() {}

func (_ *RawExtension) XXX_Marshal(_ []byte, _ bool) ([]byte, error) {
	return nil, nil
}

func (_ *RawExtension) XXX_Merge(_ interface{}) {}

func (_ *RawExtension) XXX_Size() int {
	return 0
}

func (_ *RawExtension) XXX_Unmarshal(_ []byte) error {
	return nil
}

func SetField(_ interface{}, _ reflect.Value, _ string) error {
	return nil
}

type TypeMeta struct {
	APIVersion string
	Kind       string
}

func (_ *TypeMeta) Descriptor() ([]byte, []int) {
	return nil, nil
}

func (_ *TypeMeta) GetObjectKind() schema.ObjectKind {
	return nil
}

func (_ *TypeMeta) GroupVersionKind() schema.GroupVersionKind {
	return schema.GroupVersionKind{}
}

func (_ *TypeMeta) Marshal() ([]byte, error) {
	return nil, nil
}

func (_ *TypeMeta) MarshalTo(_ []byte) (int, error) {
	return 0, nil
}

func (_ *TypeMeta) MarshalToSizedBuffer(_ []byte) (int, error) {
	return 0, nil
}

func (_ *TypeMeta) ProtoMessage() {}

func (_ *TypeMeta) Reset() {}

func (_ *TypeMeta) SetGroupVersionKind(_ schema.GroupVersionKind) {}

func (_ *TypeMeta) Size() int {
	return 0
}

func (_ *TypeMeta) String() string {
	return ""
}

func (_ *TypeMeta) Unmarshal(_ []byte) error {
	return nil
}

func (_ *TypeMeta) XXX_DiscardUnknown() {}

func (_ *TypeMeta) XXX_Marshal(_ []byte, _ bool) ([]byte, error) {
	return nil, nil
}

func (_ *TypeMeta) XXX_Merge(_ interface{}) {}

func (_ *TypeMeta) XXX_Size() int {
	return 0
}

func (_ *TypeMeta) XXX_Unmarshal(_ []byte) error {
	return nil
}

type Unknown struct {
	TypeMeta        TypeMeta
	Raw             []byte
	ContentEncoding string
	ContentType     string
}

func (_ Unknown) MarshalJSON() ([]byte, error) {
	return nil, nil
}

func (_ *Unknown) DeepCopy() *Unknown {
	return nil
}

func (_ *Unknown) DeepCopyInto(_ *Unknown) {}

func (_ *Unknown) DeepCopyObject() Object {
	return nil
}

func (_ *Unknown) Descriptor() ([]byte, []int) {
	return nil, nil
}

func (_ *Unknown) GetObjectKind() schema.ObjectKind {
	return nil
}

func (_ *Unknown) GroupVersionKind() schema.GroupVersionKind {
	return schema.GroupVersionKind{}
}

func (_ *Unknown) Marshal() ([]byte, error) {
	return nil, nil
}

func (_ *Unknown) MarshalTo(_ []byte) (int, error) {
	return 0, nil
}

func (_ *Unknown) MarshalToSizedBuffer(_ []byte) (int, error) {
	return 0, nil
}

func (_ *Unknown) NestedMarshalTo(_ []byte, _ ProtobufMarshaller, _ uint64) (int, error) {
	return 0, nil
}

func (_ *Unknown) ProtoMessage() {}

func (_ *Unknown) Reset() {}

func (_ *Unknown) SetGroupVersionKind(_ schema.GroupVersionKind) {}

func (_ *Unknown) Size() int {
	return 0
}

func (_ *Unknown) String() string {
	return ""
}

func (_ *Unknown) Unmarshal(_ []byte) error {
	return nil
}

func (_ *Unknown) UnmarshalJSON(_ []byte) error {
	return nil
}

func (_ *Unknown) XXX_DiscardUnknown() {}

func (_ *Unknown) XXX_Marshal(_ []byte, _ bool) ([]byte, error) {
	return nil, nil
}

func (_ *Unknown) XXX_Merge(_ interface{}) {}

func (_ *Unknown) XXX_Size() int {
	return 0
}

func (_ *Unknown) XXX_Unmarshal(_ []byte) error {
	return nil
}

type Unstructured interface {
	DeepCopyObject() Object
	EachListItem(_ func(Object) error) error
	GetObjectKind() schema.ObjectKind
	IsList() bool
	NewEmptyInstance() Unstructured
	SetUnstructuredContent(_ map[string]interface{})
	UnstructuredContent() map[string]interface{}
}

func UseOrCreateObject(_ ObjectTyper, _ ObjectCreater, _ schema.GroupVersionKind, _ Object) (Object, error) {
	return nil, nil
}

type WithVersionEncoder struct {
	Version     GroupVersioner
	Encoder     Encoder
	ObjectTyper ObjectTyper
}

func (_ WithVersionEncoder) Encode(_ Object, _ io.Writer) error {
	return nil
}

func (_ WithVersionEncoder) Identifier() Identifier {
	return ""
}

func (_ WithVersionEncoder) ObjectKinds(_ Object) ([]schema.GroupVersionKind, bool, error) {
	return nil, false, nil
}

func (_ WithVersionEncoder) Recognizes(_ schema.GroupVersionKind) bool {
	return false
}

type WithoutVersionDecoder struct {
	Decoder Decoder
}

func (_ WithoutVersionDecoder) Decode(_ []byte, _ *schema.GroupVersionKind, _ Object) (Object, schema.GroupVersionKind, error) {
	return nil, schema.GroupVersionKind{}, nil
}
