import { iZerionAPI, iZerionUI } from "./types/interface";
import { ChainData, FungibleTokenData, PortfolioData, PositionData, UserBalanceOptions, UserDashboardResponse, FungibleOptions, NFTPosition, NFTPositionOptions } from "./types";
import { ZerionService } from "./services/zerion";
import { Address } from "viem";
export declare class ZerionAPI implements iZerionAPI {
    service: ZerionService;
    readonly isTestnet: boolean;
    readonly ui: iZerionUI;
    constructor(apiKey: string, testnet?: boolean);
    getChains(useStatic?: boolean): Promise<ChainData[]>;
    getPortfolio(walletAddress: string, currency?: string): Promise<PortfolioData>;
    getFungiblePositions(walletAddress: string, options?: FungibleOptions): Promise<PositionData[]>;
    listFungibles(address: string, chain?: string): Promise<FungibleTokenData[]>;
    fungibles(id: string): Promise<FungibleTokenData>;
    fetchNFTs(walletAddress: string, options?: NFTPositionOptions): Promise<NFTPosition[]>;
    getNativeTokens(chains: ChainData[], useStatic?: boolean): Promise<Record<string, FungibleTokenData>>;
    getChainById(chainId: number): Promise<ChainData | undefined>;
    getToken(args: {
        chainId: number;
        address: Address;
    }): Promise<FungibleTokenData>;
}
export declare class ZerionUI implements iZerionUI {
    private client;
    constructor(client: ZerionAPI);
    getUserBalances(walletAddress: string, params?: {
        fungibleOptions?: FungibleOptions;
        options?: UserBalanceOptions;
        useStatic?: boolean;
    }): Promise<UserDashboardResponse>;
}
