// package: ibc.applications.fee.v1
// file: ibc/applications/fee/v1/tx.proto

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

import * as grpc from "grpc";
import * as ibc_applications_fee_v1_tx_pb from "../../../../ibc/applications/fee/v1/tx_pb";
import * as gogoproto_gogo_pb from "../../../../gogoproto/gogo_pb";
import * as ibc_applications_fee_v1_fee_pb from "../../../../ibc/applications/fee/v1/fee_pb";
import * as ibc_core_channel_v1_channel_pb from "../../../../ibc/core/channel/v1/channel_pb";

interface IMsgService extends grpc.ServiceDefinition<grpc.UntypedServiceImplementation> {
    registerPayee: IMsgService_IRegisterPayee;
    registerCounterpartyPayee: IMsgService_IRegisterCounterpartyPayee;
    payPacketFee: IMsgService_IPayPacketFee;
    payPacketFeeAsync: IMsgService_IPayPacketFeeAsync;
}

interface IMsgService_IRegisterPayee extends grpc.MethodDefinition<ibc_applications_fee_v1_tx_pb.MsgRegisterPayee, ibc_applications_fee_v1_tx_pb.MsgRegisterPayeeResponse> {
    path: "/ibc.applications.fee.v1.Msg/RegisterPayee";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<ibc_applications_fee_v1_tx_pb.MsgRegisterPayee>;
    requestDeserialize: grpc.deserialize<ibc_applications_fee_v1_tx_pb.MsgRegisterPayee>;
    responseSerialize: grpc.serialize<ibc_applications_fee_v1_tx_pb.MsgRegisterPayeeResponse>;
    responseDeserialize: grpc.deserialize<ibc_applications_fee_v1_tx_pb.MsgRegisterPayeeResponse>;
}
interface IMsgService_IRegisterCounterpartyPayee extends grpc.MethodDefinition<ibc_applications_fee_v1_tx_pb.MsgRegisterCounterpartyPayee, ibc_applications_fee_v1_tx_pb.MsgRegisterCounterpartyPayeeResponse> {
    path: "/ibc.applications.fee.v1.Msg/RegisterCounterpartyPayee";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<ibc_applications_fee_v1_tx_pb.MsgRegisterCounterpartyPayee>;
    requestDeserialize: grpc.deserialize<ibc_applications_fee_v1_tx_pb.MsgRegisterCounterpartyPayee>;
    responseSerialize: grpc.serialize<ibc_applications_fee_v1_tx_pb.MsgRegisterCounterpartyPayeeResponse>;
    responseDeserialize: grpc.deserialize<ibc_applications_fee_v1_tx_pb.MsgRegisterCounterpartyPayeeResponse>;
}
interface IMsgService_IPayPacketFee extends grpc.MethodDefinition<ibc_applications_fee_v1_tx_pb.MsgPayPacketFee, ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeResponse> {
    path: "/ibc.applications.fee.v1.Msg/PayPacketFee";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<ibc_applications_fee_v1_tx_pb.MsgPayPacketFee>;
    requestDeserialize: grpc.deserialize<ibc_applications_fee_v1_tx_pb.MsgPayPacketFee>;
    responseSerialize: grpc.serialize<ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeResponse>;
    responseDeserialize: grpc.deserialize<ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeResponse>;
}
interface IMsgService_IPayPacketFeeAsync extends grpc.MethodDefinition<ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeAsync, ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeAsyncResponse> {
    path: "/ibc.applications.fee.v1.Msg/PayPacketFeeAsync";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeAsync>;
    requestDeserialize: grpc.deserialize<ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeAsync>;
    responseSerialize: grpc.serialize<ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeAsyncResponse>;
    responseDeserialize: grpc.deserialize<ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeAsyncResponse>;
}

export const MsgService: IMsgService;

export interface IMsgServer {
    registerPayee: grpc.handleUnaryCall<ibc_applications_fee_v1_tx_pb.MsgRegisterPayee, ibc_applications_fee_v1_tx_pb.MsgRegisterPayeeResponse>;
    registerCounterpartyPayee: grpc.handleUnaryCall<ibc_applications_fee_v1_tx_pb.MsgRegisterCounterpartyPayee, ibc_applications_fee_v1_tx_pb.MsgRegisterCounterpartyPayeeResponse>;
    payPacketFee: grpc.handleUnaryCall<ibc_applications_fee_v1_tx_pb.MsgPayPacketFee, ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeResponse>;
    payPacketFeeAsync: grpc.handleUnaryCall<ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeAsync, ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeAsyncResponse>;
}

export interface IMsgClient {
    registerPayee(request: ibc_applications_fee_v1_tx_pb.MsgRegisterPayee, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgRegisterPayeeResponse) => void): grpc.ClientUnaryCall;
    registerPayee(request: ibc_applications_fee_v1_tx_pb.MsgRegisterPayee, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgRegisterPayeeResponse) => void): grpc.ClientUnaryCall;
    registerPayee(request: ibc_applications_fee_v1_tx_pb.MsgRegisterPayee, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgRegisterPayeeResponse) => void): grpc.ClientUnaryCall;
    registerCounterpartyPayee(request: ibc_applications_fee_v1_tx_pb.MsgRegisterCounterpartyPayee, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgRegisterCounterpartyPayeeResponse) => void): grpc.ClientUnaryCall;
    registerCounterpartyPayee(request: ibc_applications_fee_v1_tx_pb.MsgRegisterCounterpartyPayee, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgRegisterCounterpartyPayeeResponse) => void): grpc.ClientUnaryCall;
    registerCounterpartyPayee(request: ibc_applications_fee_v1_tx_pb.MsgRegisterCounterpartyPayee, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgRegisterCounterpartyPayeeResponse) => void): grpc.ClientUnaryCall;
    payPacketFee(request: ibc_applications_fee_v1_tx_pb.MsgPayPacketFee, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeResponse) => void): grpc.ClientUnaryCall;
    payPacketFee(request: ibc_applications_fee_v1_tx_pb.MsgPayPacketFee, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeResponse) => void): grpc.ClientUnaryCall;
    payPacketFee(request: ibc_applications_fee_v1_tx_pb.MsgPayPacketFee, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeResponse) => void): grpc.ClientUnaryCall;
    payPacketFeeAsync(request: ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeAsync, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeAsyncResponse) => void): grpc.ClientUnaryCall;
    payPacketFeeAsync(request: ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeAsync, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeAsyncResponse) => void): grpc.ClientUnaryCall;
    payPacketFeeAsync(request: ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeAsync, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeAsyncResponse) => void): grpc.ClientUnaryCall;
}

export class MsgClient extends grpc.Client implements IMsgClient {
    constructor(address: string, credentials: grpc.ChannelCredentials, options?: object);
    public registerPayee(request: ibc_applications_fee_v1_tx_pb.MsgRegisterPayee, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgRegisterPayeeResponse) => void): grpc.ClientUnaryCall;
    public registerPayee(request: ibc_applications_fee_v1_tx_pb.MsgRegisterPayee, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgRegisterPayeeResponse) => void): grpc.ClientUnaryCall;
    public registerPayee(request: ibc_applications_fee_v1_tx_pb.MsgRegisterPayee, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgRegisterPayeeResponse) => void): grpc.ClientUnaryCall;
    public registerCounterpartyPayee(request: ibc_applications_fee_v1_tx_pb.MsgRegisterCounterpartyPayee, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgRegisterCounterpartyPayeeResponse) => void): grpc.ClientUnaryCall;
    public registerCounterpartyPayee(request: ibc_applications_fee_v1_tx_pb.MsgRegisterCounterpartyPayee, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgRegisterCounterpartyPayeeResponse) => void): grpc.ClientUnaryCall;
    public registerCounterpartyPayee(request: ibc_applications_fee_v1_tx_pb.MsgRegisterCounterpartyPayee, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgRegisterCounterpartyPayeeResponse) => void): grpc.ClientUnaryCall;
    public payPacketFee(request: ibc_applications_fee_v1_tx_pb.MsgPayPacketFee, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeResponse) => void): grpc.ClientUnaryCall;
    public payPacketFee(request: ibc_applications_fee_v1_tx_pb.MsgPayPacketFee, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeResponse) => void): grpc.ClientUnaryCall;
    public payPacketFee(request: ibc_applications_fee_v1_tx_pb.MsgPayPacketFee, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeResponse) => void): grpc.ClientUnaryCall;
    public payPacketFeeAsync(request: ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeAsync, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeAsyncResponse) => void): grpc.ClientUnaryCall;
    public payPacketFeeAsync(request: ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeAsync, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeAsyncResponse) => void): grpc.ClientUnaryCall;
    public payPacketFeeAsync(request: ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeAsync, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: ibc_applications_fee_v1_tx_pb.MsgPayPacketFeeAsyncResponse) => void): grpc.ClientUnaryCall;
}
