import { Rpc } from "../../../helpers"; import { MsgCreateValidator, MsgCreateValidatorResponse, MsgEditValidator, MsgEditValidatorResponse, MsgDelegate, MsgDelegateResponse, MsgBeginRedelegate, MsgBeginRedelegateResponse, MsgUndelegate, MsgUndelegateResponse } from "./tx"; /** Msg defines the staking Msg service. */ export interface Msg { /** CreateValidator defines a method for creating a new validator. */ createValidator(request: MsgCreateValidator): Promise; /** EditValidator defines a method for editing an existing validator. */ editValidator(request: MsgEditValidator): Promise; /** * Delegate defines a method for performing a delegation of coins * from a delegator to a validator. */ delegate(request: MsgDelegate): Promise; /** * BeginRedelegate defines a method for performing a redelegation * of coins from a delegator and source validator to a destination validator. */ beginRedelegate(request: MsgBeginRedelegate): Promise; /** * Undelegate defines a method for performing an undelegation from a * delegate and a validator. */ undelegate(request: MsgUndelegate): Promise; } export declare class MsgClientImpl implements Msg { private readonly rpc; constructor(rpc: Rpc); createValidator(request: MsgCreateValidator): Promise; editValidator(request: MsgEditValidator): Promise; delegate(request: MsgDelegate): Promise; beginRedelegate(request: MsgBeginRedelegate): Promise; undelegate(request: MsgUndelegate): Promise; } export declare const createClientImpl: (rpc: Rpc) => MsgClientImpl;