import { type AltVM } from '@hyperlane-xyz/provider-sdk';
import type { SvmRpc, SvmTransaction } from '../types.js';
export declare class SvmProvider implements AltVM.IProvider<SvmTransaction> {
    protected rpc: SvmRpc;
    protected rpcUrls: string[];
    static connect(rpcUrls: string[], _chainId: string | number, _extraParams?: Record<string, any>): Promise<SvmProvider>;
    constructor(rpc: SvmRpc, rpcUrls: string[]);
    isHealthy(): Promise<boolean>;
    getRpcUrls(): string[];
    getHeight(): Promise<number>;
    getBalance(req: AltVM.ReqGetBalance): Promise<bigint>;
    getTotalSupply(_req: AltVM.ReqGetTotalSupply): Promise<bigint>;
    estimateTransactionFee(req: AltVM.ReqEstimateTransactionFee<SvmTransaction>): Promise<AltVM.ResEstimateTransactionFee>;
    /**
     * Queries the RPC for the base fee per signature using a minimal
     * unsigned message.
     */
    private queryBaseFeePerSignature;
    isMessageDelivered(_req: AltVM.ReqIsMessageDelivered): Promise<boolean>;
    getToken(_req: AltVM.ReqGetToken): Promise<AltVM.ResGetToken>;
    getRemoteRouters(_req: AltVM.ReqGetRemoteRouters): Promise<AltVM.ResGetRemoteRouters>;
    getBridgedSupply(_req: AltVM.ReqGetBridgedSupply): Promise<bigint>;
    quoteRemoteTransfer(_req: AltVM.ReqQuoteRemoteTransfer): Promise<AltVM.ResQuoteRemoteTransfer>;
}
//# sourceMappingURL=provider.d.ts.map