import { MsgVote as BaseMsgVote } from '@routerprotocol/chain-api/cosmos/gov/v1beta1/tx_pb';
import { VoteOptionMap } from '@routerprotocol/chain-api/cosmos/gov/v1beta1/gov_pb';
import { MsgBase } from '../../MsgBase';
export declare namespace MsgVote {
    interface Params {
        proposalId: number;
        vote: VoteOptionMap[keyof VoteOptionMap];
        voter: string;
    }
    interface DirectSign {
        type: '/cosmos.gov.v1beta1.MsgVote';
        message: BaseMsgVote;
    }
    interface Data extends BaseMsgVote.AsObject {
        '@type': '/cosmos.gov.v1beta1.MsgVote';
    }
    interface Amino extends BaseMsgVote.AsObject {
        type: 'cosmos-sdk/MsgVote';
    }
    interface Web3 extends BaseMsgVote.AsObject {
        '@type': '/cosmos.authz.v1beta1.MsgVote';
    }
    type Proto = BaseMsgVote;
}
/**
 * @group Message
 */
export default class MsgVote extends MsgBase<MsgVote.Params, MsgVote.Data, MsgVote.Proto, MsgVote.Amino, MsgVote.DirectSign> {
    static fromJSON(params: MsgVote.Params): MsgVote;
    toProto(): MsgVote.Proto;
    toData(): MsgVote.Data;
    toAmino(): MsgVote.Amino;
    toWeb3(): MsgVote.Web3;
    toDirectSign(): MsgVote.DirectSign;
}
