import { EvmWalletProvider } from "../../wallet-providers";
import { VaultsSdk } from "@vaultsfyi/sdk";
/**
 * Get the link to the vaults.fyi page for a vault
 *
 * @param vault - The vault
 * @returns The link to the vaults.fyi page
 */
export declare function getVaultsLink(vault: Awaited<ReturnType<VaultsSdk["getVault"]>>): string;
/**
 * Execute a list of actions
 *
 * @param wallet - The wallet provider
 * @param actions - The list of actions to execute
 * @returns nothing
 */
export declare function executeActions(wallet: EvmWalletProvider, actions: Awaited<ReturnType<VaultsSdk["getActions"]>>): Promise<void>;
type Apy = {
    base: number;
    reward: number;
    total: number;
};
type ApyObject = {
    "1day": Apy;
    "7day": Apy;
    "30day": Apy;
    "1hour"?: Apy;
};
/**
 * Transform the apy object to a more readable format
 *
 * @param apy - The apy
 * @returns The transformed apy
 */
export declare function transformApyObject(apy: ApyObject): Record<string, {
    base: string;
    reward: string;
    total: string;
}>;
/**
 * Transform the apy to a more readable format
 *
 * @param apy - The apy
 * @returns The transformed apy
 */
export declare function transformApy(apy: Apy): {
    base: string;
    reward: string;
    total: string;
};
/**
 * Transform the vault to a more readable format
 *
 * @param vault - The vault
 * @returns The transformed vault
 */
export declare function transformVault(vault: Awaited<ReturnType<VaultsSdk["getVault"]>>): {
    apy: Record<string, {
        base: string;
        reward: string;
        total: string;
    }>;
    link: string;
    lastUpdateTimestamp: string;
    address: string;
    network: {
        name: "mainnet" | "optimism" | "arbitrum" | "polygon" | "gnosis" | "base" | "unichain" | "swellchain" | "celo" | "worldchain" | "berachain" | "ink" | "bsc" | "hyperliquid" | "plasma" | "avalanche";
        chainId: number;
        networkCaip: string;
    };
    asset: {
        address: string;
        assetCaip: string;
        name: string;
        symbol: string;
        decimals: number;
        assetLogo?: string;
        assetPriceInUsd?: string;
        assetGroup: string;
    };
    isTransactional: boolean;
    isAppFeatured: boolean;
    name: string;
    protocol: {
        name: string;
        product?: string;
        version?: string;
        protocolUrl?: string;
        description?: string;
        protocolLogo?: string;
    };
    lendUrl?: string;
    description?: string;
    protocolVaultUrl?: string;
    tags: string[];
    holdersData: {
        totalCount?: number;
        totalBalance?: string;
        topHolders?: {
            address: string;
            lpTokenBalance: string;
        }[];
    };
    tvl: {
        usd: string;
        native: string;
    };
    rewards: {
        asset: {
            address: string;
            assetCaip: string;
            name: string;
            symbol: string;
            decimals: number;
            assetLogo?: string;
            assetPriceInUsd?: string;
            assetGroup: string;
        };
        apy: {
            "1hour": number;
            "1day": number;
            "7day": number;
            "30day": number;
        };
    }[];
    score?: {
        vaultScore: number;
        vaultTvlScore: number;
        protocolTvlScore: number;
        holderScore: number;
        networkScore: number;
        assetScore: number;
    };
    additionalIncentives?: string;
    curator?: {
        name: string;
        description?: string;
        websiteUrl?: string;
    };
    lpToken?: {
        address: string;
        tokenCaip: string;
        name: string;
        symbol: string;
        decimals: number;
    };
    childrenVaults?: {
        address: string;
        asset: {
            address: string;
            assetCaip: string;
            name: string;
            symbol: string;
            decimals: number;
            assetLogo?: string;
            assetPriceInUsd?: string;
            assetGroup: string;
        };
        lpToken?: {
            address: string;
            tokenCaip: string;
            name: string;
            symbol: string;
            decimals: number;
        };
        additionalAssets?: {
            address: string;
            assetCaip: string;
            name: string;
            symbol: string;
            decimals: number;
            assetLogo?: string;
            assetPriceInUsd?: string;
            assetGroup: string;
        }[];
    }[];
    additionalAssets?: {
        address: string;
        assetCaip: string;
        name: string;
        symbol: string;
        decimals: number;
        assetLogo?: string;
        assetPriceInUsd?: string;
        assetGroup: string;
    }[];
    transactionalProperties?: {
        depositStepsType: "instant" | "complex";
        redeemStepsType: "instant" | "complex";
        rewardsSupported: boolean;
    };
    warnings: string[];
};
export {};
