/**
 * Indexer HTTP Client
 *
 * TypeScript equivalent of the Rust indexer API client.
 * Makes direct HTTP calls to the indexer service.
 */
import type { ServerInfo, TokenInfo, WalletNotesResponse, TreeState, FeeRatesResponse, TransferSubmitResponse, WithdrawalSubmitResponse, ShieldStatusResponse, TransferStatusResponse, UnshieldStatusResponse, IdentityResponse, TransactionHistoryResponse, WalletBalancesResponse } from './types';
import type { TransactionsResponse } from '../types';
import type { AppInfoResponse } from '../types';
import { BaseClient } from './base-client';
export declare class IndexerClient extends BaseClient {
    private registeredTokensCache;
    private registeredTokensInflight;
    getServerInfo(): Promise<ServerInfo>;
    getTokenByAddress(address: string): Promise<TokenInfo>;
    getRegisteredTokens(): Promise<TokenInfo[]>;
    /**
     * Drop the cached registered-token list. Call when a new token has been
     * registered on-chain and callers need to see it without restarting.
     */
    invalidateRegisteredTokens(): void;
    getBalance(accountId: string): Promise<{
        shieldedBalance: string;
    }>;
    getUnspentNotes(pubkey: string, tokenAddress?: string): Promise<WalletNotesResponse>;
    getTreeState(): Promise<TreeState>;
    getFees(tokenId?: number): Promise<FeeRatesResponse>;
    submitTransfer(request: unknown): Promise<TransferSubmitResponse>;
    submitWithdrawal(request: unknown): Promise<WithdrawalSubmitResponse>;
    getShieldStatus(requestId: string): Promise<ShieldStatusResponse>;
    getTransferStatus(id: string): Promise<TransferStatusResponse>;
    getUnshieldStatus(id: string): Promise<UnshieldStatusResponse>;
    getTransactionHistory(pubkey: string, params?: {
        type?: string;
        limit?: number;
        cursor?: string;
    }): Promise<TransactionHistoryResponse>;
    lookupIdentity(identifier: string): Promise<IdentityResponse>;
    getWalletBalance(mpk: string, tokenAddress: string): Promise<WalletBalancesResponse>;
    getWalletBalances(mpk: string): Promise<WalletBalancesResponse>;
    getWalletTransactions(mpk: string, params?: {
        txType?: string;
        tokenId?: number;
        direction?: string;
        limit?: number;
        cursor?: string;
    }): Promise<TransactionsResponse>;
    getAppInfo(appIds: string[]): Promise<AppInfoResponse>;
}
//# sourceMappingURL=indexer-client.d.ts.map