import { TrustLineAsset } from "../../core/types/tokens";
import { TrustLine, XrplTokenBalance, XrplTxStatus } from "../../core/types/xrpl";
type AccountLinesRpcResponse = {
    account: string;
    lines: TrustLine[];
};
export declare class XrplRpcClient {
    private rpcUrl;
    constructor(rpcUrl: string);
    getBalance(address: string, tokenAddress: string): Promise<string>;
    getAllBalances(address: string): Promise<XrplTokenBalance[]>;
    getTrustLines(address: string, issuer?: string): Promise<AccountLinesRpcResponse>;
    getTrustLine(address: string, asset: TrustLineAsset): Promise<TrustLine | null>;
    accountActivatedInfo(address: string): Promise<{
        isActivated: boolean;
        reserveBaseBn: bigint;
    }>;
    /**
     * Waits for a transaction to be validated and returns its final status.
     * Resolves to 'success' or throws an error with the failed status.
     */
    waitForTransaction(txHash: string, { interval, timeout }?: {
        interval?: number | undefined;
        timeout?: number | undefined;
    }): Promise<XrplTxStatus>;
    private getServerState;
    private getAccountInfo;
    /**
     * Returns the balance of the user in the native XRP token
     * formatted as a string
     */
    private getNativeBalance;
    /**
     * Returns the balance of the user in the given issued currency (e.g. RLUSD)
     * formatted as a string
     */
    private getIssuedCurrencyBalance;
    private call;
}
export {};
