import { Balances, Chain, ChainsConfig, Network, PlatformContext, SignedTx, StaticPlatformMethods, TokenId, TxHash } from '@wormhole-foundation/connect-sdk';
import { SolanaChain } from './chain';
import { Commitment, Connection, ConnectionConfig, SendOptions } from '@solana/web3.js';
import { AnySolanaAddress, SolanaChains, SolanaPlatformType } from './types';
/**
 * @category Solana
 */
export declare class SolanaPlatform<N extends Network> extends PlatformContext<N, SolanaPlatformType> implements StaticPlatformMethods<SolanaPlatformType, typeof SolanaPlatform> {
    static _platform: "Solana";
    constructor(network: N, config?: ChainsConfig<N, SolanaPlatformType>);
    getRpc<C extends SolanaChains>(chain: C, config?: ConnectionConfig): Connection;
    getChain<C extends SolanaChains>(chain: C, rpc?: Connection): SolanaChain<N, C>;
    static nativeTokenId<N extends Network, C extends SolanaChains>(network: N, chain: C): TokenId<C>;
    static isNativeTokenId<N extends Network, C extends SolanaChains>(network: N, chain: C, tokenId: TokenId): boolean;
    static isSupportedChain(chain: Chain): boolean;
    static getDecimals(chain: Chain, rpc: Connection, token: AnySolanaAddress): Promise<number>;
    static getBalance(chain: Chain, rpc: Connection, walletAddress: string, token: AnySolanaAddress): Promise<bigint | null>;
    static getBalances(chain: Chain, rpc: Connection, walletAddress: string, tokens: AnySolanaAddress[]): Promise<Balances>;
    static sendWait(chain: Chain, rpc: Connection, stxns: SignedTx[], opts?: SendOptions): Promise<TxHash[]>;
    static latestBlock(rpc: Connection, commitment?: Commitment): Promise<{
        blockhash: string;
        lastValidBlockHeight: number;
    }>;
    static getLatestBlock(rpc: Connection): Promise<number>;
    static getLatestFinalizedBlock(rpc: Connection): Promise<number>;
    static chainFromChainId(genesisHash: string): [Network, SolanaChains];
    static chainFromRpc(rpc: Connection): Promise<[Network, SolanaChains]>;
}
//# sourceMappingURL=platform.d.ts.map