import { Registry, EncodeObject } from "@cosmjs/proto-signing";
import { MsgDeposit, MsgSubmitProposal, MsgVote } from "cosmjs-types/cosmos/gov/v1beta1/tx";
import { FirmaWalletService } from "../../FirmaWalletService";
import { ITxClient } from "../common/ITxClient";
export interface MsgDepositEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.gov.v1beta1.MsgDeposit";
    readonly value: Partial<MsgDeposit>;
}
export interface MsgSubmitProposalEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.gov.v1beta1.MsgSubmitProposal";
    readonly value: Partial<MsgSubmitProposal>;
}
export interface MsgVoteEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.gov.v1beta1.MsgVote";
    readonly value: Partial<MsgVote>;
}
export declare class GovTxClient extends ITxClient {
    constructor(wallet: FirmaWalletService, serverUrl: string);
    static getRegistry(): Registry;
    static msgDeposit(data: MsgDeposit): MsgDepositEncodeObject;
    static msgSubmitProposal(data: MsgSubmitProposal): MsgSubmitProposalEncodeObject;
    static msgVote(data: MsgVote): MsgVoteEncodeObject;
}
