import { Network } from '../../../types/network.interface';
declare type TAPR = {
    value: number;
    address: string;
    details: {
        min: number;
        max: number;
        fees: number;
        interests: number;
    };
};
declare type TokenInfo = {
    readonly name: string;
    readonly decimals: number;
    readonly symbol: string;
    readonly isSanToken?: boolean;
    readonly useInSwap?: boolean;
    readonly hasPermit?: boolean;
    readonly permitVersion?: string;
    readonly logoURI?: string;
    readonly tags?: string[];
};
declare type TVaultManager = {
    address: string;
    borrowFee: number;
    collateral: string;
    collateralHasPermit: boolean;
    collateralPermitVersion: string;
    decimals: number;
    dust: number;
    liquidationPenalty: number;
    maxLTV: number;
    minCollateralRatio: number;
    rate: number;
    stabilityFee: number;
    stablecoin: string;
    swapper: string;
    symbol: string;
    totalCollateral: number;
    totalDebt: number;
    treasury: string;
};
declare type TPerpetual = {
    perpetualID: string;
    owner: string;
    decimals: string;
    margin: string;
    committedAmount: string;
    entryRate: string;
    perpetualManager: string;
    stableAddress: string;
    collatAddress: string;
    stableName: string;
    collatName: string;
    openingTimestamp: string;
    lastUpdateTimestamp: string;
    openingBlockNumber: string;
    lastUpdateBlockNumber: string;
    status: string;
    claimable: number;
};
declare type TVault = {
    address: string;
    collateral: string;
    collateralAmount: number;
    collateralRatio: number;
    debt: number;
    debtString: string;
    id: number;
    liquidationPrice: number;
    rate: number;
    stablecoin: string;
    symbol: string;
};
export declare class AngleApiHelper {
    constructor();
    private callAngleApi;
    getApr(_network: Network): Promise<Record<string, TAPR>>;
    getVaultManagers(_network: Network): Promise<Record<string, TVaultManager>>;
    getUserPerpetuals(address: string, _network: Network): Promise<{
        perpetuals: TPerpetual[];
    }>;
    getUserVaults(address: string, _network: Network): Promise<Record<string, TVault>>;
    getRewardsData(address: string, _network: Network): Promise<{
        rewardsData: {
            totalClaimable: number;
        };
    }>;
    fetchTokenList(_network: Network, networkName?: string): Promise<Record<string, TokenInfo>>;
}
export {};
