import { Registry, EncodeObject } from "@cosmjs/proto-signing";
import { MsgExec, MsgGrant, MsgRevoke } from "./AuthzTxTypes";
import { ITxClient } from "../common/ITxClient";
import { FirmaWalletService } from "../../FirmaWalletService";
export interface MsgExecAllowanceEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.authz.v1beta1.MsgExec";
    readonly value: Partial<MsgExec>;
}
export interface MsgGrantAllowanceEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.authz.v1beta1.MsgGrant";
    readonly value: Partial<MsgGrant>;
}
export interface MsgRevokeAllowanceEncodeObject extends EncodeObject {
    readonly typeUrl: "/cosmos.authz.v1beta1.MsgRevoke";
    readonly value: Partial<MsgRevoke>;
}
export declare class AuthzTxClient extends ITxClient {
    constructor(wallet: FirmaWalletService, serverUrl: string);
    static getRegistry(): Registry;
    static msgExecAllowance(data: MsgExec): MsgExecAllowanceEncodeObject;
    static msgGrantAllowance(data: MsgGrant): MsgGrantAllowanceEncodeObject;
    static msgRevokeAllowance(data: MsgRevoke): MsgRevokeAllowanceEncodeObject;
}
