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

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

import * as grpc from "grpc";
import * as cosmos_sanction_v1beta1_tx_pb from "../../../cosmos/sanction/v1beta1/tx_pb";
import * as cosmos_msg_v1_msg_pb from "../../../cosmos/msg/v1/msg_pb";
import * as cosmos_sanction_v1beta1_sanction_pb from "../../../cosmos/sanction/v1beta1/sanction_pb";
import * as cosmos_proto_cosmos_pb from "../../../cosmos_proto/cosmos_pb";

interface IMsgService extends grpc.ServiceDefinition<grpc.UntypedServiceImplementation> {
    sanction: IMsgService_ISanction;
    unsanction: IMsgService_IUnsanction;
    updateParams: IMsgService_IUpdateParams;
}

interface IMsgService_ISanction extends grpc.MethodDefinition<cosmos_sanction_v1beta1_tx_pb.MsgSanction, cosmos_sanction_v1beta1_tx_pb.MsgSanctionResponse> {
    path: "/cosmos.sanction.v1beta1.Msg/Sanction";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_sanction_v1beta1_tx_pb.MsgSanction>;
    requestDeserialize: grpc.deserialize<cosmos_sanction_v1beta1_tx_pb.MsgSanction>;
    responseSerialize: grpc.serialize<cosmos_sanction_v1beta1_tx_pb.MsgSanctionResponse>;
    responseDeserialize: grpc.deserialize<cosmos_sanction_v1beta1_tx_pb.MsgSanctionResponse>;
}
interface IMsgService_IUnsanction extends grpc.MethodDefinition<cosmos_sanction_v1beta1_tx_pb.MsgUnsanction, cosmos_sanction_v1beta1_tx_pb.MsgUnsanctionResponse> {
    path: "/cosmos.sanction.v1beta1.Msg/Unsanction";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_sanction_v1beta1_tx_pb.MsgUnsanction>;
    requestDeserialize: grpc.deserialize<cosmos_sanction_v1beta1_tx_pb.MsgUnsanction>;
    responseSerialize: grpc.serialize<cosmos_sanction_v1beta1_tx_pb.MsgUnsanctionResponse>;
    responseDeserialize: grpc.deserialize<cosmos_sanction_v1beta1_tx_pb.MsgUnsanctionResponse>;
}
interface IMsgService_IUpdateParams extends grpc.MethodDefinition<cosmos_sanction_v1beta1_tx_pb.MsgUpdateParams, cosmos_sanction_v1beta1_tx_pb.MsgUpdateParamsResponse> {
    path: "/cosmos.sanction.v1beta1.Msg/UpdateParams";
    requestStream: false;
    responseStream: false;
    requestSerialize: grpc.serialize<cosmos_sanction_v1beta1_tx_pb.MsgUpdateParams>;
    requestDeserialize: grpc.deserialize<cosmos_sanction_v1beta1_tx_pb.MsgUpdateParams>;
    responseSerialize: grpc.serialize<cosmos_sanction_v1beta1_tx_pb.MsgUpdateParamsResponse>;
    responseDeserialize: grpc.deserialize<cosmos_sanction_v1beta1_tx_pb.MsgUpdateParamsResponse>;
}

export const MsgService: IMsgService;

export interface IMsgServer {
    sanction: grpc.handleUnaryCall<cosmos_sanction_v1beta1_tx_pb.MsgSanction, cosmos_sanction_v1beta1_tx_pb.MsgSanctionResponse>;
    unsanction: grpc.handleUnaryCall<cosmos_sanction_v1beta1_tx_pb.MsgUnsanction, cosmos_sanction_v1beta1_tx_pb.MsgUnsanctionResponse>;
    updateParams: grpc.handleUnaryCall<cosmos_sanction_v1beta1_tx_pb.MsgUpdateParams, cosmos_sanction_v1beta1_tx_pb.MsgUpdateParamsResponse>;
}

export interface IMsgClient {
    sanction(request: cosmos_sanction_v1beta1_tx_pb.MsgSanction, callback: (error: grpc.ServiceError | null, response: cosmos_sanction_v1beta1_tx_pb.MsgSanctionResponse) => void): grpc.ClientUnaryCall;
    sanction(request: cosmos_sanction_v1beta1_tx_pb.MsgSanction, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_sanction_v1beta1_tx_pb.MsgSanctionResponse) => void): grpc.ClientUnaryCall;
    sanction(request: cosmos_sanction_v1beta1_tx_pb.MsgSanction, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_sanction_v1beta1_tx_pb.MsgSanctionResponse) => void): grpc.ClientUnaryCall;
    unsanction(request: cosmos_sanction_v1beta1_tx_pb.MsgUnsanction, callback: (error: grpc.ServiceError | null, response: cosmos_sanction_v1beta1_tx_pb.MsgUnsanctionResponse) => void): grpc.ClientUnaryCall;
    unsanction(request: cosmos_sanction_v1beta1_tx_pb.MsgUnsanction, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_sanction_v1beta1_tx_pb.MsgUnsanctionResponse) => void): grpc.ClientUnaryCall;
    unsanction(request: cosmos_sanction_v1beta1_tx_pb.MsgUnsanction, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_sanction_v1beta1_tx_pb.MsgUnsanctionResponse) => void): grpc.ClientUnaryCall;
    updateParams(request: cosmos_sanction_v1beta1_tx_pb.MsgUpdateParams, callback: (error: grpc.ServiceError | null, response: cosmos_sanction_v1beta1_tx_pb.MsgUpdateParamsResponse) => void): grpc.ClientUnaryCall;
    updateParams(request: cosmos_sanction_v1beta1_tx_pb.MsgUpdateParams, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_sanction_v1beta1_tx_pb.MsgUpdateParamsResponse) => void): grpc.ClientUnaryCall;
    updateParams(request: cosmos_sanction_v1beta1_tx_pb.MsgUpdateParams, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_sanction_v1beta1_tx_pb.MsgUpdateParamsResponse) => void): grpc.ClientUnaryCall;
}

export class MsgClient extends grpc.Client implements IMsgClient {
    constructor(address: string, credentials: grpc.ChannelCredentials, options?: object);
    public sanction(request: cosmos_sanction_v1beta1_tx_pb.MsgSanction, callback: (error: grpc.ServiceError | null, response: cosmos_sanction_v1beta1_tx_pb.MsgSanctionResponse) => void): grpc.ClientUnaryCall;
    public sanction(request: cosmos_sanction_v1beta1_tx_pb.MsgSanction, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_sanction_v1beta1_tx_pb.MsgSanctionResponse) => void): grpc.ClientUnaryCall;
    public sanction(request: cosmos_sanction_v1beta1_tx_pb.MsgSanction, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_sanction_v1beta1_tx_pb.MsgSanctionResponse) => void): grpc.ClientUnaryCall;
    public unsanction(request: cosmos_sanction_v1beta1_tx_pb.MsgUnsanction, callback: (error: grpc.ServiceError | null, response: cosmos_sanction_v1beta1_tx_pb.MsgUnsanctionResponse) => void): grpc.ClientUnaryCall;
    public unsanction(request: cosmos_sanction_v1beta1_tx_pb.MsgUnsanction, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_sanction_v1beta1_tx_pb.MsgUnsanctionResponse) => void): grpc.ClientUnaryCall;
    public unsanction(request: cosmos_sanction_v1beta1_tx_pb.MsgUnsanction, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_sanction_v1beta1_tx_pb.MsgUnsanctionResponse) => void): grpc.ClientUnaryCall;
    public updateParams(request: cosmos_sanction_v1beta1_tx_pb.MsgUpdateParams, callback: (error: grpc.ServiceError | null, response: cosmos_sanction_v1beta1_tx_pb.MsgUpdateParamsResponse) => void): grpc.ClientUnaryCall;
    public updateParams(request: cosmos_sanction_v1beta1_tx_pb.MsgUpdateParams, metadata: grpc.Metadata, callback: (error: grpc.ServiceError | null, response: cosmos_sanction_v1beta1_tx_pb.MsgUpdateParamsResponse) => void): grpc.ClientUnaryCall;
    public updateParams(request: cosmos_sanction_v1beta1_tx_pb.MsgUpdateParams, metadata: grpc.Metadata, options: Partial<grpc.CallOptions>, callback: (error: grpc.ServiceError | null, response: cosmos_sanction_v1beta1_tx_pb.MsgUpdateParamsResponse) => void): grpc.ClientUnaryCall;
}
