syntax = "proto3";

package foo;

import "testdata/proto3/import.proto";

service Foo {
  rpc GetFoo(GetFooRequest) returns (GetFooResponse);
  rpc GetFoos(stream GetFoosRequest) returns (stream GetFooResponse);
}

message GetFooRequest {
  string id = 1;
}

message GetFooResponse {
  message Value {
    optional string id = 1;
    foo.Import imported_value = 2;
  }
  enum Status {
    STATUS_UNSPECIFIED = 0;
    STATUS_VERIFIED = 1;
  }
  repeated Value values = 1;
  Status status = 2;
}

message GetFoosRequest {
  map<string, string> kv = 1;
}

message GetFoosResponse {
  repeated bytes content = 1;
  reserved "id", "values";
}
