// package: provenance.oracle.v1
// file: provenance/oracle/v1/tx.proto

/* tslint:disable */
/* eslint-disable */

import * as grpc from "grpc";
import * as provenance_oracle_v1_tx_pb from "../../../provenance/oracle/v1/tx_pb";
import * as cosmos_proto_cosmos_pb from "../../../cosmos_proto/cosmos_pb";
import * as gogoproto_gogo_pb from "../../../gogoproto/gogo_pb";

interface IMsgService extends grpc.ServiceDefinition<grpc.UntypedServiceImplementation> {
    updateOracle: IMsgService_IUpdateOracle;
    sendQueryOracle: IMsgService_ISendQueryOracle;
}

interface IMsgService_IUpdateOracle extends grpc.MethodDefinition<provenance_oracle_v1_tx_pb.MsgUpdateOracleRequest, provenance_oracle_v1_tx_pb.MsgUpdateOracleResponse> {
    path: "/provenance.oracle.v1.Msg/UpdateOracle";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<provenance_oracle_v1_tx_pb.MsgUpdateOracleRequest>;
    requestDeserialize: grpc.deserialize<provenance_oracle_v1_tx_pb.MsgUpdateOracleRequest>;
    responseSerialize: grpc.serialize<provenance_oracle_v1_tx_pb.MsgUpdateOracleResponse>;
    responseDeserialize: grpc.deserialize<provenance_oracle_v1_tx_pb.MsgUpdateOracleResponse>;
}
interface IMsgService_ISendQueryOracle extends grpc.MethodDefinition<provenance_oracle_v1_tx_pb.MsgSendQueryOracleRequest, provenance_oracle_v1_tx_pb.MsgSendQueryOracleResponse> {
    path: "/provenance.oracle.v1.Msg/SendQueryOracle";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<provenance_oracle_v1_tx_pb.MsgSendQueryOracleRequest>;
    requestDeserialize: grpc.deserialize<provenance_oracle_v1_tx_pb.MsgSendQueryOracleRequest>;
    responseSerialize: grpc.serialize<provenance_oracle_v1_tx_pb.MsgSendQueryOracleResponse>;
    responseDeserialize: grpc.deserialize<provenance_oracle_v1_tx_pb.MsgSendQueryOracleResponse>;
}

export const MsgService: IMsgService;

export interface IMsgServer {
    updateOracle: grpc.handleUnaryCall<provenance_oracle_v1_tx_pb.MsgUpdateOracleRequest, provenance_oracle_v1_tx_pb.MsgUpdateOracleResponse>;
    sendQueryOracle: grpc.handleUnaryCall<provenance_oracle_v1_tx_pb.MsgSendQueryOracleRequest, provenance_oracle_v1_tx_pb.MsgSendQueryOracleResponse>;
}

export interface IMsgClient {
    updateOracle(request: provenance_oracle_v1_tx_pb.MsgUpdateOracleRequest, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_tx_pb.MsgUpdateOracleResponse) => void): grpc.ClientUnaryCall;
    updateOracle(request: provenance_oracle_v1_tx_pb.MsgUpdateOracleRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_tx_pb.MsgUpdateOracleResponse) => void): grpc.ClientUnaryCall;
    updateOracle(request: provenance_oracle_v1_tx_pb.MsgUpdateOracleRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_tx_pb.MsgUpdateOracleResponse) => void): grpc.ClientUnaryCall;
    sendQueryOracle(request: provenance_oracle_v1_tx_pb.MsgSendQueryOracleRequest, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_tx_pb.MsgSendQueryOracleResponse) => void): grpc.ClientUnaryCall;
    sendQueryOracle(request: provenance_oracle_v1_tx_pb.MsgSendQueryOracleRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_tx_pb.MsgSendQueryOracleResponse) => void): grpc.ClientUnaryCall;
    sendQueryOracle(request: provenance_oracle_v1_tx_pb.MsgSendQueryOracleRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_tx_pb.MsgSendQueryOracleResponse) => void): grpc.ClientUnaryCall;
}

export class MsgClient extends grpc.Client implements IMsgClient {
    constructor(address: string, credentials: grpc.ChannelCredentials, options?: object);
    public updateOracle(request: provenance_oracle_v1_tx_pb.MsgUpdateOracleRequest, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_tx_pb.MsgUpdateOracleResponse) => void): grpc.ClientUnaryCall;
    public updateOracle(request: provenance_oracle_v1_tx_pb.MsgUpdateOracleRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_tx_pb.MsgUpdateOracleResponse) => void): grpc.ClientUnaryCall;
    public updateOracle(request: provenance_oracle_v1_tx_pb.MsgUpdateOracleRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_tx_pb.MsgUpdateOracleResponse) => void): grpc.ClientUnaryCall;
    public sendQueryOracle(request: provenance_oracle_v1_tx_pb.MsgSendQueryOracleRequest, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_tx_pb.MsgSendQueryOracleResponse) => void): grpc.ClientUnaryCall;
    public sendQueryOracle(request: provenance_oracle_v1_tx_pb.MsgSendQueryOracleRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_tx_pb.MsgSendQueryOracleResponse) => void): grpc.ClientUnaryCall;
    public sendQueryOracle(request: provenance_oracle_v1_tx_pb.MsgSendQueryOracleRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_tx_pb.MsgSendQueryOracleResponse) => void): grpc.ClientUnaryCall;
}
