// package: cosmos.quarantine.v1beta1
// file: cosmos/quarantine/v1beta1/tx.proto

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

import * as grpc from "grpc";
import * as cosmos_quarantine_v1beta1_tx_pb from "../../../cosmos/quarantine/v1beta1/tx_pb";
import * as cosmos_base_query_v1beta1_pagination_pb from "../../../cosmos/base/query/v1beta1/pagination_pb";
import * as cosmos_base_v1beta1_coin_pb from "../../../cosmos/base/v1beta1/coin_pb";
import * as cosmos_msg_v1_msg_pb from "../../../cosmos/msg/v1/msg_pb";
import * as cosmos_quarantine_v1beta1_quarantine_pb from "../../../cosmos/quarantine/v1beta1/quarantine_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> {
    optIn: IMsgService_IOptIn;
    optOut: IMsgService_IOptOut;
    accept: IMsgService_IAccept;
    decline: IMsgService_IDecline;
    updateAutoResponses: IMsgService_IUpdateAutoResponses;
}

interface IMsgService_IOptIn extends grpc.MethodDefinition<cosmos_quarantine_v1beta1_tx_pb.MsgOptIn, cosmos_quarantine_v1beta1_tx_pb.MsgOptInResponse> {
    path: "/cosmos.quarantine.v1beta1.Msg/OptIn";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_quarantine_v1beta1_tx_pb.MsgOptIn>;
    requestDeserialize: grpc.deserialize<cosmos_quarantine_v1beta1_tx_pb.MsgOptIn>;
    responseSerialize: grpc.serialize<cosmos_quarantine_v1beta1_tx_pb.MsgOptInResponse>;
    responseDeserialize: grpc.deserialize<cosmos_quarantine_v1beta1_tx_pb.MsgOptInResponse>;
}
interface IMsgService_IOptOut extends grpc.MethodDefinition<cosmos_quarantine_v1beta1_tx_pb.MsgOptOut, cosmos_quarantine_v1beta1_tx_pb.MsgOptOutResponse> {
    path: "/cosmos.quarantine.v1beta1.Msg/OptOut";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_quarantine_v1beta1_tx_pb.MsgOptOut>;
    requestDeserialize: grpc.deserialize<cosmos_quarantine_v1beta1_tx_pb.MsgOptOut>;
    responseSerialize: grpc.serialize<cosmos_quarantine_v1beta1_tx_pb.MsgOptOutResponse>;
    responseDeserialize: grpc.deserialize<cosmos_quarantine_v1beta1_tx_pb.MsgOptOutResponse>;
}
interface IMsgService_IAccept extends grpc.MethodDefinition<cosmos_quarantine_v1beta1_tx_pb.MsgAccept, cosmos_quarantine_v1beta1_tx_pb.MsgAcceptResponse> {
    path: "/cosmos.quarantine.v1beta1.Msg/Accept";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_quarantine_v1beta1_tx_pb.MsgAccept>;
    requestDeserialize: grpc.deserialize<cosmos_quarantine_v1beta1_tx_pb.MsgAccept>;
    responseSerialize: grpc.serialize<cosmos_quarantine_v1beta1_tx_pb.MsgAcceptResponse>;
    responseDeserialize: grpc.deserialize<cosmos_quarantine_v1beta1_tx_pb.MsgAcceptResponse>;
}
interface IMsgService_IDecline extends grpc.MethodDefinition<cosmos_quarantine_v1beta1_tx_pb.MsgDecline, cosmos_quarantine_v1beta1_tx_pb.MsgDeclineResponse> {
    path: "/cosmos.quarantine.v1beta1.Msg/Decline";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_quarantine_v1beta1_tx_pb.MsgDecline>;
    requestDeserialize: grpc.deserialize<cosmos_quarantine_v1beta1_tx_pb.MsgDecline>;
    responseSerialize: grpc.serialize<cosmos_quarantine_v1beta1_tx_pb.MsgDeclineResponse>;
    responseDeserialize: grpc.deserialize<cosmos_quarantine_v1beta1_tx_pb.MsgDeclineResponse>;
}
interface IMsgService_IUpdateAutoResponses extends grpc.MethodDefinition<cosmos_quarantine_v1beta1_tx_pb.MsgUpdateAutoResponses, cosmos_quarantine_v1beta1_tx_pb.MsgUpdateAutoResponsesResponse> {
    path: "/cosmos.quarantine.v1beta1.Msg/UpdateAutoResponses";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_quarantine_v1beta1_tx_pb.MsgUpdateAutoResponses>;
    requestDeserialize: grpc.deserialize<cosmos_quarantine_v1beta1_tx_pb.MsgUpdateAutoResponses>;
    responseSerialize: grpc.serialize<cosmos_quarantine_v1beta1_tx_pb.MsgUpdateAutoResponsesResponse>;
    responseDeserialize: grpc.deserialize<cosmos_quarantine_v1beta1_tx_pb.MsgUpdateAutoResponsesResponse>;
}

export const MsgService: IMsgService;

export interface IMsgServer {
    optIn: grpc.handleUnaryCall<cosmos_quarantine_v1beta1_tx_pb.MsgOptIn, cosmos_quarantine_v1beta1_tx_pb.MsgOptInResponse>;
    optOut: grpc.handleUnaryCall<cosmos_quarantine_v1beta1_tx_pb.MsgOptOut, cosmos_quarantine_v1beta1_tx_pb.MsgOptOutResponse>;
    accept: grpc.handleUnaryCall<cosmos_quarantine_v1beta1_tx_pb.MsgAccept, cosmos_quarantine_v1beta1_tx_pb.MsgAcceptResponse>;
    decline: grpc.handleUnaryCall<cosmos_quarantine_v1beta1_tx_pb.MsgDecline, cosmos_quarantine_v1beta1_tx_pb.MsgDeclineResponse>;
    updateAutoResponses: grpc.handleUnaryCall<cosmos_quarantine_v1beta1_tx_pb.MsgUpdateAutoResponses, cosmos_quarantine_v1beta1_tx_pb.MsgUpdateAutoResponsesResponse>;
}

export interface IMsgClient {
    optIn(request: cosmos_quarantine_v1beta1_tx_pb.MsgOptIn, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgOptInResponse) => void): grpc.ClientUnaryCall;
    optIn(request: cosmos_quarantine_v1beta1_tx_pb.MsgOptIn, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgOptInResponse) => void): grpc.ClientUnaryCall;
    optIn(request: cosmos_quarantine_v1beta1_tx_pb.MsgOptIn, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgOptInResponse) => void): grpc.ClientUnaryCall;
    optOut(request: cosmos_quarantine_v1beta1_tx_pb.MsgOptOut, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgOptOutResponse) => void): grpc.ClientUnaryCall;
    optOut(request: cosmos_quarantine_v1beta1_tx_pb.MsgOptOut, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgOptOutResponse) => void): grpc.ClientUnaryCall;
    optOut(request: cosmos_quarantine_v1beta1_tx_pb.MsgOptOut, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgOptOutResponse) => void): grpc.ClientUnaryCall;
    accept(request: cosmos_quarantine_v1beta1_tx_pb.MsgAccept, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgAcceptResponse) => void): grpc.ClientUnaryCall;
    accept(request: cosmos_quarantine_v1beta1_tx_pb.MsgAccept, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgAcceptResponse) => void): grpc.ClientUnaryCall;
    accept(request: cosmos_quarantine_v1beta1_tx_pb.MsgAccept, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgAcceptResponse) => void): grpc.ClientUnaryCall;
    decline(request: cosmos_quarantine_v1beta1_tx_pb.MsgDecline, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgDeclineResponse) => void): grpc.ClientUnaryCall;
    decline(request: cosmos_quarantine_v1beta1_tx_pb.MsgDecline, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgDeclineResponse) => void): grpc.ClientUnaryCall;
    decline(request: cosmos_quarantine_v1beta1_tx_pb.MsgDecline, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgDeclineResponse) => void): grpc.ClientUnaryCall;
    updateAutoResponses(request: cosmos_quarantine_v1beta1_tx_pb.MsgUpdateAutoResponses, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgUpdateAutoResponsesResponse) => void): grpc.ClientUnaryCall;
    updateAutoResponses(request: cosmos_quarantine_v1beta1_tx_pb.MsgUpdateAutoResponses, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgUpdateAutoResponsesResponse) => void): grpc.ClientUnaryCall;
    updateAutoResponses(request: cosmos_quarantine_v1beta1_tx_pb.MsgUpdateAutoResponses, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgUpdateAutoResponsesResponse) => void): grpc.ClientUnaryCall;
}

export class MsgClient extends grpc.Client implements IMsgClient {
    constructor(address: string, credentials: grpc.ChannelCredentials, options?: object);
    public optIn(request: cosmos_quarantine_v1beta1_tx_pb.MsgOptIn, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgOptInResponse) => void): grpc.ClientUnaryCall;
    public optIn(request: cosmos_quarantine_v1beta1_tx_pb.MsgOptIn, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgOptInResponse) => void): grpc.ClientUnaryCall;
    public optIn(request: cosmos_quarantine_v1beta1_tx_pb.MsgOptIn, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgOptInResponse) => void): grpc.ClientUnaryCall;
    public optOut(request: cosmos_quarantine_v1beta1_tx_pb.MsgOptOut, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgOptOutResponse) => void): grpc.ClientUnaryCall;
    public optOut(request: cosmos_quarantine_v1beta1_tx_pb.MsgOptOut, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgOptOutResponse) => void): grpc.ClientUnaryCall;
    public optOut(request: cosmos_quarantine_v1beta1_tx_pb.MsgOptOut, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgOptOutResponse) => void): grpc.ClientUnaryCall;
    public accept(request: cosmos_quarantine_v1beta1_tx_pb.MsgAccept, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgAcceptResponse) => void): grpc.ClientUnaryCall;
    public accept(request: cosmos_quarantine_v1beta1_tx_pb.MsgAccept, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgAcceptResponse) => void): grpc.ClientUnaryCall;
    public accept(request: cosmos_quarantine_v1beta1_tx_pb.MsgAccept, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgAcceptResponse) => void): grpc.ClientUnaryCall;
    public decline(request: cosmos_quarantine_v1beta1_tx_pb.MsgDecline, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgDeclineResponse) => void): grpc.ClientUnaryCall;
    public decline(request: cosmos_quarantine_v1beta1_tx_pb.MsgDecline, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgDeclineResponse) => void): grpc.ClientUnaryCall;
    public decline(request: cosmos_quarantine_v1beta1_tx_pb.MsgDecline, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgDeclineResponse) => void): grpc.ClientUnaryCall;
    public updateAutoResponses(request: cosmos_quarantine_v1beta1_tx_pb.MsgUpdateAutoResponses, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgUpdateAutoResponsesResponse) => void): grpc.ClientUnaryCall;
    public updateAutoResponses(request: cosmos_quarantine_v1beta1_tx_pb.MsgUpdateAutoResponses, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgUpdateAutoResponsesResponse) => void): grpc.ClientUnaryCall;
    public updateAutoResponses(request: cosmos_quarantine_v1beta1_tx_pb.MsgUpdateAutoResponses, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_quarantine_v1beta1_tx_pb.MsgUpdateAutoResponsesResponse) => void): grpc.ClientUnaryCall;
}
