import { Registry, EncodeObject } from "@cosmjs/proto-signing";
import { SignAndBroadcastOptions } from ".";
import { SignDoc, TxRaw } from "cosmjs-types/cosmos/tx/v1beta1/tx";
import { FirmaWalletService } from "../../FirmaWalletService";
import { DeliverTxResponse } from "@cosmjs/stargate";
import { TxRawExt } from "./SigningStargateClient";
export declare class ITxClient {
    private readonly wallet;
    private readonly serverUrl;
    private readonly registry;
    private rawWallet;
    constructor(wallet: FirmaWalletService, serverUrl: string, registry: Registry);
    getRegistry(): Registry;
    sign(msgs: EncodeObject[], { fee, memo }: SignAndBroadcastOptions): Promise<TxRaw>;
    broadcast(txRaw: TxRaw): Promise<DeliverTxResponse>;
    broadcastTxBytes(txBytes: Uint8Array): Promise<DeliverTxResponse>;
    signAndBroadcast(msgs: EncodeObject[], { fee, memo }: SignAndBroadcastOptions): Promise<DeliverTxResponse>;
    signDirectForSignDoc(signerAddress: string, signDoc: SignDoc): Promise<TxRawExt>;
}
