import Moralis from 'moralis';
import { MoralisKeyRotator } from '../infrastructure/config/ApiKeyRotator';
/**
 * Moralis wrapper that supports API key rotation.
 *
 * Usage:
 *   const moralisService = container.resolve(MoralisService);
 *   await moralisService.initialize();
 *   const result = await moralisService.call(api => api.token.getWalletTokenBalances({ ... }));
 */
export declare class MoralisService {
    private readonly rotator;
    private initialized;
    constructor(rotator: MoralisKeyRotator);
    initialize(): Promise<void>;
    /**
     * Execute a Moralis API call. If the call fails due to an auth or rate-limit
     * error, rotate to the next configured key, re-initialize Moralis, and retry
     * the operation once.
     */
    call<T>(operation: (api: typeof Moralis.EvmApi) => Promise<T>): Promise<T>;
    private isKeyFailure;
}
/**
 * Backward-compatible initializer used by src/index.ts.
 * Resolves a MoralisService from the DI container and initializes it.
 */
export declare function initializeMoralis(): Promise<void>;
export default Moralis;
//# sourceMappingURL=moralis.d.ts.map