import { Tendermint34Client } from "@cosmjs/tendermint-rpc";
import { MsgData } from "cosmjs-types/cosmos/base/abci/v1beta1/abci";
export declare class TimeoutError extends Error {
    readonly txId: string;
    constructor(message: string, txId: string);
}
/** A transaction that is indexed as part of the transaction history */
export interface IndexedTx {
    readonly height: number;
    readonly hash: string;
    readonly code: number;
    readonly rawLog: string;
    readonly tx: Uint8Array;
    readonly gasUsed: number;
    readonly gasWanted: number;
}
export interface BroadcastTxFailure {
    readonly height: number;
    readonly code: number;
    readonly transactionHash: string;
    readonly rawLog?: string;
    readonly data?: readonly MsgData[];
}
export interface BroadcastTxSuccess {
    readonly height: number;
    readonly code: number;
    readonly transactionHash: string;
    readonly rawLog?: string;
    readonly data?: readonly MsgData[];
    readonly gasUsed: number;
    readonly gasWanted: number;
}
export declare type BroadcastTxResponse = BroadcastTxSuccess | BroadcastTxFailure;
export declare function isBroadcastTxFailure(result: BroadcastTxResponse): boolean;
export declare function isBroadcastTxSuccess(result: BroadcastTxResponse): boolean;
export declare class StargateClient {
    private readonly tmClient;
    static connect(endpoint: string): Promise<StargateClient>;
    protected constructor(tmClient: Tendermint34Client | undefined);
    protected getTmClient(): Tendermint34Client | undefined;
    protected forceGetTmClient(): Tendermint34Client;
    getTx(id: string): Promise<IndexedTx | null>;
    disconnect(): void;
    broadcastTx(tx: Uint8Array, timeoutMs?: number, pollIntervalMs?: number): Promise<BroadcastTxResponse>;
    private txsQuery;
}
