import { Balances, Chain, ChainsConfig, Network, PlatformContext, SignedTx, StaticPlatformMethods, TokenId, TxHash } from "@wormhole-foundation/connect-sdk";
import { Algodv2 } from "algosdk";
import { AlgorandChain } from "./chain";
import { AlgorandChains, AlgorandPlatformType, AnyAlgorandAddress } from "./types";
/**
 * @category Algorand
 */
export declare class AlgorandPlatform<N extends Network> extends PlatformContext<N, AlgorandPlatformType> implements StaticPlatformMethods<AlgorandPlatformType, typeof AlgorandPlatform> {
    static _platform: "Algorand";
    constructor(network: N, _config?: ChainsConfig<N, AlgorandPlatformType>);
    getRpc<C extends AlgorandChains>(chain: C): Algodv2;
    getChain<C extends AlgorandChains>(chain: C): AlgorandChain<N, C>;
    static nativeTokenId<N extends Network, C extends AlgorandChains>(network: N, chain: C): TokenId<C>;
    static isNativeTokenId<N extends Network, C extends AlgorandChains>(network: N, chain: C, tokenId: TokenId): boolean;
    static isSupportedChain(chain: Chain): boolean;
    static getDecimals(chain: Chain, rpc: Algodv2, token: AnyAlgorandAddress): Promise<number>;
    static getBalance(chain: Chain, rpc: Algodv2, walletAddr: string, token: AnyAlgorandAddress): Promise<bigint | null>;
    static getBalances(chain: Chain, rpc: Algodv2, walletAddr: string, tokens: AnyAlgorandAddress[]): Promise<Balances>;
    static sendWait(chain: Chain, rpc: Algodv2, stxns: SignedTx[]): Promise<TxHash[]>;
    static getLatestBlock(rpc: Algodv2): Promise<number>;
    static getLatestFinalizedBlock(rpc: Algodv2): Promise<number>;
    static chainFromChainId(genesisId: string): [Network, AlgorandChains];
    static chainFromRpc(rpc: Algodv2): Promise<[Network, AlgorandChains]>;
}
//# sourceMappingURL=platform.d.ts.map