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

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

import * as grpc from "grpc";
import * as provenance_reward_v1_tx_pb from "../../../provenance/reward/v1/tx_pb";
import * as gogoproto_gogo_pb from "../../../gogoproto/gogo_pb";
import * as google_protobuf_timestamp_pb from "google-protobuf/google/protobuf/timestamp_pb";
import * as cosmos_base_v1beta1_coin_pb from "../../../cosmos/base/v1beta1/coin_pb";
import * as provenance_reward_v1_reward_pb from "../../../provenance/reward/v1/reward_pb";

interface IMsgService extends grpc.ServiceDefinition<grpc.UntypedServiceImplementation> {
    createRewardProgram: IMsgService_ICreateRewardProgram;
    endRewardProgram: IMsgService_IEndRewardProgram;
    claimRewards: IMsgService_IClaimRewards;
    claimAllRewards: IMsgService_IClaimAllRewards;
}

interface IMsgService_ICreateRewardProgram extends grpc.MethodDefinition<provenance_reward_v1_tx_pb.MsgCreateRewardProgramRequest, provenance_reward_v1_tx_pb.MsgCreateRewardProgramResponse> {
    path: "/provenance.reward.v1.Msg/CreateRewardProgram";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<provenance_reward_v1_tx_pb.MsgCreateRewardProgramRequest>;
    requestDeserialize: grpc.deserialize<provenance_reward_v1_tx_pb.MsgCreateRewardProgramRequest>;
    responseSerialize: grpc.serialize<provenance_reward_v1_tx_pb.MsgCreateRewardProgramResponse>;
    responseDeserialize: grpc.deserialize<provenance_reward_v1_tx_pb.MsgCreateRewardProgramResponse>;
}
interface IMsgService_IEndRewardProgram extends grpc.MethodDefinition<provenance_reward_v1_tx_pb.MsgEndRewardProgramRequest, provenance_reward_v1_tx_pb.MsgEndRewardProgramResponse> {
    path: "/provenance.reward.v1.Msg/EndRewardProgram";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<provenance_reward_v1_tx_pb.MsgEndRewardProgramRequest>;
    requestDeserialize: grpc.deserialize<provenance_reward_v1_tx_pb.MsgEndRewardProgramRequest>;
    responseSerialize: grpc.serialize<provenance_reward_v1_tx_pb.MsgEndRewardProgramResponse>;
    responseDeserialize: grpc.deserialize<provenance_reward_v1_tx_pb.MsgEndRewardProgramResponse>;
}
interface IMsgService_IClaimRewards extends grpc.MethodDefinition<provenance_reward_v1_tx_pb.MsgClaimRewardsRequest, provenance_reward_v1_tx_pb.MsgClaimRewardsResponse> {
    path: "/provenance.reward.v1.Msg/ClaimRewards";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<provenance_reward_v1_tx_pb.MsgClaimRewardsRequest>;
    requestDeserialize: grpc.deserialize<provenance_reward_v1_tx_pb.MsgClaimRewardsRequest>;
    responseSerialize: grpc.serialize<provenance_reward_v1_tx_pb.MsgClaimRewardsResponse>;
    responseDeserialize: grpc.deserialize<provenance_reward_v1_tx_pb.MsgClaimRewardsResponse>;
}
interface IMsgService_IClaimAllRewards extends grpc.MethodDefinition<provenance_reward_v1_tx_pb.MsgClaimAllRewardsRequest, provenance_reward_v1_tx_pb.MsgClaimAllRewardsResponse> {
    path: "/provenance.reward.v1.Msg/ClaimAllRewards";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<provenance_reward_v1_tx_pb.MsgClaimAllRewardsRequest>;
    requestDeserialize: grpc.deserialize<provenance_reward_v1_tx_pb.MsgClaimAllRewardsRequest>;
    responseSerialize: grpc.serialize<provenance_reward_v1_tx_pb.MsgClaimAllRewardsResponse>;
    responseDeserialize: grpc.deserialize<provenance_reward_v1_tx_pb.MsgClaimAllRewardsResponse>;
}

export const MsgService: IMsgService;

export interface IMsgServer {
    createRewardProgram: grpc.handleUnaryCall<provenance_reward_v1_tx_pb.MsgCreateRewardProgramRequest, provenance_reward_v1_tx_pb.MsgCreateRewardProgramResponse>;
    endRewardProgram: grpc.handleUnaryCall<provenance_reward_v1_tx_pb.MsgEndRewardProgramRequest, provenance_reward_v1_tx_pb.MsgEndRewardProgramResponse>;
    claimRewards: grpc.handleUnaryCall<provenance_reward_v1_tx_pb.MsgClaimRewardsRequest, provenance_reward_v1_tx_pb.MsgClaimRewardsResponse>;
    claimAllRewards: grpc.handleUnaryCall<provenance_reward_v1_tx_pb.MsgClaimAllRewardsRequest, provenance_reward_v1_tx_pb.MsgClaimAllRewardsResponse>;
}

export interface IMsgClient {
    createRewardProgram(request: provenance_reward_v1_tx_pb.MsgCreateRewardProgramRequest, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgCreateRewardProgramResponse) => void): grpc.ClientUnaryCall;
    createRewardProgram(request: provenance_reward_v1_tx_pb.MsgCreateRewardProgramRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgCreateRewardProgramResponse) => void): grpc.ClientUnaryCall;
    createRewardProgram(request: provenance_reward_v1_tx_pb.MsgCreateRewardProgramRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgCreateRewardProgramResponse) => void): grpc.ClientUnaryCall;
    endRewardProgram(request: provenance_reward_v1_tx_pb.MsgEndRewardProgramRequest, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgEndRewardProgramResponse) => void): grpc.ClientUnaryCall;
    endRewardProgram(request: provenance_reward_v1_tx_pb.MsgEndRewardProgramRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgEndRewardProgramResponse) => void): grpc.ClientUnaryCall;
    endRewardProgram(request: provenance_reward_v1_tx_pb.MsgEndRewardProgramRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgEndRewardProgramResponse) => void): grpc.ClientUnaryCall;
    claimRewards(request: provenance_reward_v1_tx_pb.MsgClaimRewardsRequest, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgClaimRewardsResponse) => void): grpc.ClientUnaryCall;
    claimRewards(request: provenance_reward_v1_tx_pb.MsgClaimRewardsRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgClaimRewardsResponse) => void): grpc.ClientUnaryCall;
    claimRewards(request: provenance_reward_v1_tx_pb.MsgClaimRewardsRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgClaimRewardsResponse) => void): grpc.ClientUnaryCall;
    claimAllRewards(request: provenance_reward_v1_tx_pb.MsgClaimAllRewardsRequest, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgClaimAllRewardsResponse) => void): grpc.ClientUnaryCall;
    claimAllRewards(request: provenance_reward_v1_tx_pb.MsgClaimAllRewardsRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgClaimAllRewardsResponse) => void): grpc.ClientUnaryCall;
    claimAllRewards(request: provenance_reward_v1_tx_pb.MsgClaimAllRewardsRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgClaimAllRewardsResponse) => void): grpc.ClientUnaryCall;
}

export class MsgClient extends grpc.Client implements IMsgClient {
    constructor(address: string, credentials: grpc.ChannelCredentials, options?: object);
    public createRewardProgram(request: provenance_reward_v1_tx_pb.MsgCreateRewardProgramRequest, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgCreateRewardProgramResponse) => void): grpc.ClientUnaryCall;
    public createRewardProgram(request: provenance_reward_v1_tx_pb.MsgCreateRewardProgramRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgCreateRewardProgramResponse) => void): grpc.ClientUnaryCall;
    public createRewardProgram(request: provenance_reward_v1_tx_pb.MsgCreateRewardProgramRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgCreateRewardProgramResponse) => void): grpc.ClientUnaryCall;
    public endRewardProgram(request: provenance_reward_v1_tx_pb.MsgEndRewardProgramRequest, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgEndRewardProgramResponse) => void): grpc.ClientUnaryCall;
    public endRewardProgram(request: provenance_reward_v1_tx_pb.MsgEndRewardProgramRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgEndRewardProgramResponse) => void): grpc.ClientUnaryCall;
    public endRewardProgram(request: provenance_reward_v1_tx_pb.MsgEndRewardProgramRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgEndRewardProgramResponse) => void): grpc.ClientUnaryCall;
    public claimRewards(request: provenance_reward_v1_tx_pb.MsgClaimRewardsRequest, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgClaimRewardsResponse) => void): grpc.ClientUnaryCall;
    public claimRewards(request: provenance_reward_v1_tx_pb.MsgClaimRewardsRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgClaimRewardsResponse) => void): grpc.ClientUnaryCall;
    public claimRewards(request: provenance_reward_v1_tx_pb.MsgClaimRewardsRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgClaimRewardsResponse) => void): grpc.ClientUnaryCall;
    public claimAllRewards(request: provenance_reward_v1_tx_pb.MsgClaimAllRewardsRequest, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgClaimAllRewardsResponse) => void): grpc.ClientUnaryCall;
    public claimAllRewards(request: provenance_reward_v1_tx_pb.MsgClaimAllRewardsRequest, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgClaimAllRewardsResponse) => void): grpc.ClientUnaryCall;
    public claimAllRewards(request: provenance_reward_v1_tx_pb.MsgClaimAllRewardsRequest, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: provenance_reward_v1_tx_pb.MsgClaimAllRewardsResponse) => void): grpc.ClientUnaryCall;
}
