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

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

import * as grpc from "grpc";
import * as cosmos_upgrade_v1beta1_tx_pb from "../../../cosmos/upgrade/v1beta1/tx_pb";
import * as gogoproto_gogo_pb from "../../../gogoproto/gogo_pb";
import * as cosmos_proto_cosmos_pb from "../../../cosmos_proto/cosmos_pb";
import * as cosmos_upgrade_v1beta1_upgrade_pb from "../../../cosmos/upgrade/v1beta1/upgrade_pb";
import * as cosmos_msg_v1_msg_pb from "../../../cosmos/msg/v1/msg_pb";

interface IMsgService extends grpc.ServiceDefinition<grpc.UntypedServiceImplementation> {
    softwareUpgrade: IMsgService_ISoftwareUpgrade;
    cancelUpgrade: IMsgService_ICancelUpgrade;
}

interface IMsgService_ISoftwareUpgrade extends grpc.MethodDefinition<cosmos_upgrade_v1beta1_tx_pb.MsgSoftwareUpgrade, cosmos_upgrade_v1beta1_tx_pb.MsgSoftwareUpgradeResponse> {
    path: "/cosmos.upgrade.v1beta1.Msg/SoftwareUpgrade";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_upgrade_v1beta1_tx_pb.MsgSoftwareUpgrade>;
    requestDeserialize: grpc.deserialize<cosmos_upgrade_v1beta1_tx_pb.MsgSoftwareUpgrade>;
    responseSerialize: grpc.serialize<cosmos_upgrade_v1beta1_tx_pb.MsgSoftwareUpgradeResponse>;
    responseDeserialize: grpc.deserialize<cosmos_upgrade_v1beta1_tx_pb.MsgSoftwareUpgradeResponse>;
}
interface IMsgService_ICancelUpgrade extends grpc.MethodDefinition<cosmos_upgrade_v1beta1_tx_pb.MsgCancelUpgrade, cosmos_upgrade_v1beta1_tx_pb.MsgCancelUpgradeResponse> {
    path: "/cosmos.upgrade.v1beta1.Msg/CancelUpgrade";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_upgrade_v1beta1_tx_pb.MsgCancelUpgrade>;
    requestDeserialize: grpc.deserialize<cosmos_upgrade_v1beta1_tx_pb.MsgCancelUpgrade>;
    responseSerialize: grpc.serialize<cosmos_upgrade_v1beta1_tx_pb.MsgCancelUpgradeResponse>;
    responseDeserialize: grpc.deserialize<cosmos_upgrade_v1beta1_tx_pb.MsgCancelUpgradeResponse>;
}

export const MsgService: IMsgService;

export interface IMsgServer {
    softwareUpgrade: grpc.handleUnaryCall<cosmos_upgrade_v1beta1_tx_pb.MsgSoftwareUpgrade, cosmos_upgrade_v1beta1_tx_pb.MsgSoftwareUpgradeResponse>;
    cancelUpgrade: grpc.handleUnaryCall<cosmos_upgrade_v1beta1_tx_pb.MsgCancelUpgrade, cosmos_upgrade_v1beta1_tx_pb.MsgCancelUpgradeResponse>;
}

export interface IMsgClient {
    softwareUpgrade(request: cosmos_upgrade_v1beta1_tx_pb.MsgSoftwareUpgrade, callback: (error: grpc.ServiceError | null, response: cosmos_upgrade_v1beta1_tx_pb.MsgSoftwareUpgradeResponse) => void): grpc.ClientUnaryCall;
    softwareUpgrade(request: cosmos_upgrade_v1beta1_tx_pb.MsgSoftwareUpgrade, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_upgrade_v1beta1_tx_pb.MsgSoftwareUpgradeResponse) => void): grpc.ClientUnaryCall;
    softwareUpgrade(request: cosmos_upgrade_v1beta1_tx_pb.MsgSoftwareUpgrade, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_upgrade_v1beta1_tx_pb.MsgSoftwareUpgradeResponse) => void): grpc.ClientUnaryCall;
    cancelUpgrade(request: cosmos_upgrade_v1beta1_tx_pb.MsgCancelUpgrade, callback: (error: grpc.ServiceError | null, response: cosmos_upgrade_v1beta1_tx_pb.MsgCancelUpgradeResponse) => void): grpc.ClientUnaryCall;
    cancelUpgrade(request: cosmos_upgrade_v1beta1_tx_pb.MsgCancelUpgrade, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_upgrade_v1beta1_tx_pb.MsgCancelUpgradeResponse) => void): grpc.ClientUnaryCall;
    cancelUpgrade(request: cosmos_upgrade_v1beta1_tx_pb.MsgCancelUpgrade, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_upgrade_v1beta1_tx_pb.MsgCancelUpgradeResponse) => void): grpc.ClientUnaryCall;
}

export class MsgClient extends grpc.Client implements IMsgClient {
    constructor(address: string, credentials: grpc.ChannelCredentials, options?: object);
    public softwareUpgrade(request: cosmos_upgrade_v1beta1_tx_pb.MsgSoftwareUpgrade, callback: (error: grpc.ServiceError | null, response: cosmos_upgrade_v1beta1_tx_pb.MsgSoftwareUpgradeResponse) => void): grpc.ClientUnaryCall;
    public softwareUpgrade(request: cosmos_upgrade_v1beta1_tx_pb.MsgSoftwareUpgrade, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_upgrade_v1beta1_tx_pb.MsgSoftwareUpgradeResponse) => void): grpc.ClientUnaryCall;
    public softwareUpgrade(request: cosmos_upgrade_v1beta1_tx_pb.MsgSoftwareUpgrade, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_upgrade_v1beta1_tx_pb.MsgSoftwareUpgradeResponse) => void): grpc.ClientUnaryCall;
    public cancelUpgrade(request: cosmos_upgrade_v1beta1_tx_pb.MsgCancelUpgrade, callback: (error: grpc.ServiceError | null, response: cosmos_upgrade_v1beta1_tx_pb.MsgCancelUpgradeResponse) => void): grpc.ClientUnaryCall;
    public cancelUpgrade(request: cosmos_upgrade_v1beta1_tx_pb.MsgCancelUpgrade, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_upgrade_v1beta1_tx_pb.MsgCancelUpgradeResponse) => void): grpc.ClientUnaryCall;
    public cancelUpgrade(request: cosmos_upgrade_v1beta1_tx_pb.MsgCancelUpgrade, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_upgrade_v1beta1_tx_pb.MsgCancelUpgradeResponse) => void): grpc.ClientUnaryCall;
}
