import { CallOverrides } from "@ethersproject/contracts";
import { ChainId } from "../../chain";
import { ContractAddressId, ContractService, WrappedContract } from "../../common";
import { Address, CyTokenUserMetadata, Integer, IronBankMarketDynamic, IronBankMarketStatic, IronBankUserSummary, Position } from "../../types";
export declare class IronBankAdapter<T extends ChainId> extends ContractService<T> {
    static abi: string[];
    static contractId: ContractAddressId;
    get contract(): Promise<WrappedContract>;
    /**
     * Get the static part of IronBank assets.
     * @param addresses filter, if not provided all assets are returned
     * @param overrides
     * @returns static
     */
    assetsStatic(addresses?: Address[], overrides?: CallOverrides): Promise<IronBankMarketStatic[]>;
    /**
     * Get the dynamic part of IronBank assets.
     * @param addresses filter, if not provided all assets are returned
     * @param overrides
     * @returns dynamic
     */
    assetsDynamic(addresses?: Address[], overrides?: CallOverrides): Promise<IronBankMarketDynamic[]>;
    /**
     * Get all IronBankMarket asset positions for a particular address.
     * @param address
     * @param addresses filter, if not provided all positions are returned
     * @param overrides
     * @returns
     */
    positionsOf(address: Address, addresses?: Address[], overrides?: CallOverrides): Promise<Position[]>;
    /**
     * Get the IronBank Position for a particular address.
     * @param address
     * @param overrides
     * @returns
     */
    generalPositionOf(address: Address, overrides?: CallOverrides): Promise<IronBankUserSummary>;
    /**
     * Get the IronBank User Metadata for a particular address.
     * @param address
     * @param overrides
     * @returns
     */
    assetsUserMetadata(address: Address, addresses?: Address[], overrides?: CallOverrides): Promise<CyTokenUserMetadata[]>;
    /**
     * Get all IronBank underlying token addresses.
     * @param overrides
     * @returns
     */
    tokens(overrides?: CallOverrides): Promise<Address[]>;
    blocksPerYear(overrides?: CallOverrides): Promise<Integer>;
    private aprBipsToApyBips;
}
