// Extracted from: Spotify 1.1.73.517 (macOS)

syntax = "proto3";

package spotify.prefs.esperanto.proto;

option objc_class_prefix = "ESP";
option java_package = "com.spotify.prefs.esperanto.proto";

service Prefs {
    rpc Get(GetParams) returns (PrefValues);
    rpc Sub(SubParams) returns (stream PrefValues);
    rpc GetAll(GetAllParams) returns (PrefValues);
    rpc SubAll(SubAllParams) returns (stream PrefValues);
    rpc Set(SetParams) returns (PrefValues);
    rpc Create(CreateParams) returns (PrefValues);
}

message GetParams {
    string key = 1;
}

message SubParams {
    string key = 1;
}

message GetAllParams {
    
}

message SubAllParams {
    
}

message Value {
    oneof value {
        int64 number = 1;
        bool bool = 2;
        string string = 3;
    }
}

message SetParams {
    map<string, Value> entries = 1;
}

message CreateParams {
    map<string, Value> entries = 1;
}

message PrefValues {
    map<string, Value> entries = 1;
}
