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

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

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

interface IQueryService extends grpc.ServiceDefinition<grpc.UntypedServiceImplementation> {
    oracleAddress: IQueryService_IOracleAddress;
    oracle: IQueryService_IOracle;
}

interface IQueryService_IOracleAddress extends grpc.MethodDefinition<provenance_oracle_v1_query_pb.QueryOracleAddressRequest, provenance_oracle_v1_query_pb.QueryOracleAddressResponse> {
    path: "/provenance.oracle.v1.Query/OracleAddress";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<provenance_oracle_v1_query_pb.QueryOracleAddressRequest>;
    requestDeserialize: grpc.deserialize<provenance_oracle_v1_query_pb.QueryOracleAddressRequest>;
    responseSerialize: grpc.serialize<provenance_oracle_v1_query_pb.QueryOracleAddressResponse>;
    responseDeserialize: grpc.deserialize<provenance_oracle_v1_query_pb.QueryOracleAddressResponse>;
}
interface IQueryService_IOracle extends grpc.MethodDefinition<provenance_oracle_v1_query_pb.QueryOracleRequest, provenance_oracle_v1_query_pb.QueryOracleResponse> {
    path: "/provenance.oracle.v1.Query/Oracle";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<provenance_oracle_v1_query_pb.QueryOracleRequest>;
    requestDeserialize: grpc.deserialize<provenance_oracle_v1_query_pb.QueryOracleRequest>;
    responseSerialize: grpc.serialize<provenance_oracle_v1_query_pb.QueryOracleResponse>;
    responseDeserialize: grpc.deserialize<provenance_oracle_v1_query_pb.QueryOracleResponse>;
}

export const QueryService: IQueryService;

export interface IQueryServer {
    oracleAddress: grpc.handleUnaryCall<provenance_oracle_v1_query_pb.QueryOracleAddressRequest, provenance_oracle_v1_query_pb.QueryOracleAddressResponse>;
    oracle: grpc.handleUnaryCall<provenance_oracle_v1_query_pb.QueryOracleRequest, provenance_oracle_v1_query_pb.QueryOracleResponse>;
}

export interface IQueryClient {
    oracleAddress(request: provenance_oracle_v1_query_pb.QueryOracleAddressRequest, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_query_pb.QueryOracleAddressResponse) => void): grpc.ClientUnaryCall;
    oracleAddress(request: provenance_oracle_v1_query_pb.QueryOracleAddressRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_query_pb.QueryOracleAddressResponse) => void): grpc.ClientUnaryCall;
    oracleAddress(request: provenance_oracle_v1_query_pb.QueryOracleAddressRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_query_pb.QueryOracleAddressResponse) => void): grpc.ClientUnaryCall;
    oracle(request: provenance_oracle_v1_query_pb.QueryOracleRequest, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_query_pb.QueryOracleResponse) => void): grpc.ClientUnaryCall;
    oracle(request: provenance_oracle_v1_query_pb.QueryOracleRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_query_pb.QueryOracleResponse) => void): grpc.ClientUnaryCall;
    oracle(request: provenance_oracle_v1_query_pb.QueryOracleRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_query_pb.QueryOracleResponse) => void): grpc.ClientUnaryCall;
}

export class QueryClient extends grpc.Client implements IQueryClient {
    constructor(address: string, credentials: grpc.ChannelCredentials, options?: object);
    public oracleAddress(request: provenance_oracle_v1_query_pb.QueryOracleAddressRequest, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_query_pb.QueryOracleAddressResponse) => void): grpc.ClientUnaryCall;
    public oracleAddress(request: provenance_oracle_v1_query_pb.QueryOracleAddressRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_query_pb.QueryOracleAddressResponse) => void): grpc.ClientUnaryCall;
    public oracleAddress(request: provenance_oracle_v1_query_pb.QueryOracleAddressRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_query_pb.QueryOracleAddressResponse) => void): grpc.ClientUnaryCall;
    public oracle(request: provenance_oracle_v1_query_pb.QueryOracleRequest, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_query_pb.QueryOracleResponse) => void): grpc.ClientUnaryCall;
    public oracle(request: provenance_oracle_v1_query_pb.QueryOracleRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_query_pb.QueryOracleResponse) => void): grpc.ClientUnaryCall;
    public oracle(request: provenance_oracle_v1_query_pb.QueryOracleRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: provenance_oracle_v1_query_pb.QueryOracleResponse) => void): grpc.ClientUnaryCall;
}
