import { Contract as ContractMulti } from 'ethcall';
import { BigNumber } from 'ethers';
import { Address, SignerOrProvider, PoolInfoUtils } from '../types';
export declare const getPoolInfoUtilsContract: (provider: SignerOrProvider) => PoolInfoUtils;
export declare const getPoolInfoUtilsContractMulti: () => ContractMulti;
export declare const auctionStatus: (contractUtils: PoolInfoUtils, poolAddress: Address, borrowerAddress: Address) => Promise<[BigNumber, BigNumber, BigNumber, boolean, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber] & {
    kickTime_: BigNumber;
    collateral_: BigNumber;
    debtToCover_: BigNumber;
    isCollateralized_: boolean;
    price_: BigNumber;
    neutralPrice_: BigNumber;
    referencePrice_: BigNumber;
    debtToCollateral_: BigNumber;
    bondFactor_: BigNumber;
}>;
export declare const borrowerInfo: (contractUtils: PoolInfoUtils, poolAddress: Address, borrowerAddress: Address) => Promise<[BigNumber, BigNumber, BigNumber, BigNumber] & {
    debt_: BigNumber;
    collateral_: BigNumber;
    t0Np_: BigNumber;
    thresholdPrice_: BigNumber;
}>;
export declare const poolPricesInfo: (contractUtils: PoolInfoUtils, poolAddress: Address) => Promise<[BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber] & {
    hpb_: BigNumber;
    hpbIndex_: BigNumber;
    htp_: BigNumber;
    htpIndex_: BigNumber;
    lup_: BigNumber;
    lupIndex_: BigNumber;
}>;
export declare const poolLoansInfo: (contractUtils: PoolInfoUtils, poolAddress: Address) => Promise<[BigNumber, BigNumber, string, BigNumber, BigNumber] & {
    poolSize_: BigNumber;
    loansCount_: BigNumber;
    maxBorrower_: string;
    pendingInflator_: BigNumber;
    pendingInterestFactor_: BigNumber;
}>;
export declare const poolUtilizationInfo: (contractUtils: PoolInfoUtils, poolAddress: Address) => Promise<[BigNumber, BigNumber, BigNumber, BigNumber] & {
    poolMinDebtAmount_: BigNumber;
    poolCollateralization_: BigNumber;
    poolActualUtilization_: BigNumber;
    poolTargetUtilization_: BigNumber;
}>;
export declare const bucketInfo: (contractUtils: PoolInfoUtils, poolAddress: Address, index: number) => Promise<[BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber] & {
    price_: BigNumber;
    quoteTokens_: BigNumber;
    collateral_: BigNumber;
    bucketLP_: BigNumber;
    scale_: BigNumber;
    exchangeRate_: BigNumber;
}>;
export declare const lpToQuoteTokens: (contractUtils: PoolInfoUtils, poolAddress: Address, lpTokens: BigNumber, index: number) => Promise<BigNumber>;
export declare const lpToCollateral: (contractUtils: PoolInfoUtils, poolAddress: Address, lpTokens: BigNumber, index: number) => Promise<BigNumber>;
export declare const priceToIndex: (contractUtils: PoolInfoUtils, price: BigNumber) => Promise<BigNumber>;
export declare const indexToPrice: (contractUtils: PoolInfoUtils, index: number) => Promise<BigNumber>;
