import { Registry, EncodeObject } from "@cosmjs/proto-signing";
import { MsgDeposit as V1MsgDeposit, MsgSubmitProposal as V1MsgSubmitProposal, MsgUpdateParams as V1MsgUpdateParams, MsgVote as V1MsgVote, MsgVoteWeighted as V1MsgVoteWeighted } from "@kintsugi-tech/cosmjs-types/cosmos/gov/v1/tx";
import { MsgDeposit, MsgSubmitProposal, MsgVote, MsgVoteWeighted } from "@kintsugi-tech/cosmjs-types/cosmos/gov/v1beta1/tx";
import { MsgCancelProposal as V1MsgCancelProposal } from "@kintsugi-tech/cosmjs-types/cosmos/gov/v1/tx";
import { FirmaWalletService } from "../../FirmaWalletService";
import { ITxClient } from "../common/ITxClient";
export interface V1MsgDepositEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.gov.v1.MsgDeposit";
    readonly value: Partial<V1MsgDeposit>;
}
export interface V1MsgSubmitProposalEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.gov.v1.MsgSubmitProposal";
    readonly value: Partial<V1MsgSubmitProposal>;
}
export interface V1MsgUpdateParamsEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.gov.v1.MsgUpdateParams";
    readonly value: Partial<V1MsgUpdateParams>;
}
export interface V1MsgVoteWeightedEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.gov.v1.MsgVoteWeighted";
    readonly value: Partial<V1MsgVoteWeighted>;
}
export interface V1MsgCancelProposalEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.gov.v1.MsgCancelProposal";
    readonly value: Partial<V1MsgCancelProposal>;
}
export interface V1MsgVoteEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.gov.v1.MsgVote";
    readonly value: Partial<V1MsgVote>;
}
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 interface MsgVoteWeightedEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.gov.v1beta1.MsgVoteWeighted";
    readonly value: Partial<MsgVoteWeighted>;
}
export declare class GovTxClient extends ITxClient {
    constructor(wallet: FirmaWalletService, serverUrl: string);
    static getRegistry(): Registry;
    static v1MsgDeposit(data: V1MsgDeposit): V1MsgDepositEncodeObject;
    static v1MsgSubmitProposal(data: V1MsgSubmitProposal): V1MsgSubmitProposalEncodeObject;
    static v1MsgUpdateParams(data: V1MsgUpdateParams): V1MsgUpdateParamsEncodeObject;
    static v1MsgVote(data: V1MsgVote): V1MsgVoteEncodeObject;
    static v1MsgVoteWeighted(data: V1MsgVoteWeighted): V1MsgVoteWeightedEncodeObject;
    static v1MsgCancelProposal(data: V1MsgCancelProposal): V1MsgCancelProposalEncodeObject;
    static msgDeposit(data: MsgDeposit): MsgDepositEncodeObject;
    static msgSubmitProposal(data: MsgSubmitProposal): MsgSubmitProposalEncodeObject;
    static msgVote(data: MsgVote): MsgVoteEncodeObject;
    static msgVoteWeighted(data: MsgVoteWeighted): MsgVoteWeightedEncodeObject;
}
