import { Rpc } from "../../../helpers";
import { MsgRequestSignature, MsgRequestSignatureResponse, MsgActivate, MsgActivateResponse, MsgUpdateParams, MsgUpdateParamsResponse, MsgTransitionGroup, MsgTransitionGroupResponse, MsgForceTransitionGroup, MsgForceTransitionGroupResponse } from "./tx";
/** Msg defines the bandtss Msg service. */
export interface Msg {
    /** RequestSignature submits a general message to be signed by a specific group. */
    requestSignature(request: MsgRequestSignature): Promise<MsgRequestSignatureResponse>;
    /** Activate activates the status of the sender. */
    activate(request: MsgActivate): Promise<MsgActivateResponse>;
    /** UpdateParams updates the x/bandtss parameters. */
    updateParams(request: MsgUpdateParams): Promise<MsgUpdateParamsResponse>;
    /** TransitionGroup creates a request for creating a new group and replacing current group. */
    transitionGroup(request: MsgTransitionGroup): Promise<MsgTransitionGroupResponse>;
    /**
     * ForceTransitionGroup sets the given group to the incoming group without the signature of a transition
     * message from a current group.
     */
    forceTransitionGroup(request: MsgForceTransitionGroup): Promise<MsgForceTransitionGroupResponse>;
}
export declare class MsgClientImpl implements Msg {
    private readonly rpc;
    constructor(rpc: Rpc);
    requestSignature(request: MsgRequestSignature): Promise<MsgRequestSignatureResponse>;
    activate(request: MsgActivate): Promise<MsgActivateResponse>;
    updateParams(request: MsgUpdateParams): Promise<MsgUpdateParamsResponse>;
    transitionGroup(request: MsgTransitionGroup): Promise<MsgTransitionGroupResponse>;
    forceTransitionGroup(request: MsgForceTransitionGroup): Promise<MsgForceTransitionGroupResponse>;
}
