// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: src/test/protobuf/test_multiple_files.proto

// Protobuf Java Version: 4.26.1
package org.apache.avro.protobuf.multiplefiles;

public interface MOrBuilder extends
    // @@protoc_insertion_point(interface_extends:org.apache.avro.protobuf.multiplefiles.M)
    com.google.protobuf.MessageOrBuilder {
}
