import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from 'ethers';
import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi';
import type { Listener, Provider } from '@ethersproject/providers';
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common';
export interface TroveManagerInterface extends utils.Interface {
    functions: {
        'BETA()': FunctionFragment;
        'BOOTSTRAP_PERIOD()': FunctionFragment;
        'BORROWING_FEE_FLOOR()': FunctionFragment;
        'CCR()': FunctionFragment;
        'DECIMAL_PRECISION()': FunctionFragment;
        'LUSD_GAS_COMPENSATION()': FunctionFragment;
        'L_ETH()': FunctionFragment;
        'L_LUSDDebt()': FunctionFragment;
        'MAX_BORROWING_FEE()': FunctionFragment;
        'MCR()': FunctionFragment;
        'MINUTE_DECAY_FACTOR()': FunctionFragment;
        'MIN_NET_DEBT()': FunctionFragment;
        'NAME()': FunctionFragment;
        'PERCENT_DIVISOR()': FunctionFragment;
        'REDEMPTION_FEE_FLOOR()': FunctionFragment;
        'SECONDS_IN_ONE_MINUTE()': FunctionFragment;
        'TroveOwners(uint256)': FunctionFragment;
        'Troves(address)': FunctionFragment;
        '_100pct()': FunctionFragment;
        'activePool()': FunctionFragment;
        'addTroveOwnerToArray(address)': FunctionFragment;
        'applyPendingRewards(address)': FunctionFragment;
        'baseRate()': FunctionFragment;
        'batchLiquidateTroves(address[])': FunctionFragment;
        'borrowerOperationsAddress()': FunctionFragment;
        'checkRecoveryMode(uint256)': FunctionFragment;
        'closeTrove(address)': FunctionFragment;
        'decayBaseRateFromBorrowing()': FunctionFragment;
        'decreaseTroveColl(address,uint256)': FunctionFragment;
        'decreaseTroveDebt(address,uint256)': FunctionFragment;
        'defaultPool()': FunctionFragment;
        'getBorrowingFee(uint256)': FunctionFragment;
        'getBorrowingFeeWithDecay(uint256)': FunctionFragment;
        'getBorrowingRate()': FunctionFragment;
        'getBorrowingRateWithDecay()': FunctionFragment;
        'getCurrentICR(address,uint256)': FunctionFragment;
        'getEntireDebtAndColl(address)': FunctionFragment;
        'getEntireSystemColl()': FunctionFragment;
        'getEntireSystemDebt()': FunctionFragment;
        'getNominalICR(address)': FunctionFragment;
        'getPendingETHReward(address)': FunctionFragment;
        'getPendingLUSDDebtReward(address)': FunctionFragment;
        'getRedemptionFeeWithDecay(uint256)': FunctionFragment;
        'getRedemptionRate()': FunctionFragment;
        'getRedemptionRateWithDecay()': FunctionFragment;
        'getTCR(uint256)': FunctionFragment;
        'getTroveColl(address)': FunctionFragment;
        'getTroveDebt(address)': FunctionFragment;
        'getTroveFromTroveOwnersArray(uint256)': FunctionFragment;
        'getTroveOwnersCount()': FunctionFragment;
        'getTroveStake(address)': FunctionFragment;
        'getTroveStatus(address)': FunctionFragment;
        'hasPendingRewards(address)': FunctionFragment;
        'increaseTroveColl(address,uint256)': FunctionFragment;
        'increaseTroveDebt(address,uint256)': FunctionFragment;
        'isOwner()': FunctionFragment;
        'lastETHError_Redistribution()': FunctionFragment;
        'lastFeeOperationTime()': FunctionFragment;
        'lastLUSDDebtError_Redistribution()': FunctionFragment;
        'liquidate(address)': FunctionFragment;
        'liquidateTroves(uint256)': FunctionFragment;
        'lqtyStaking()': FunctionFragment;
        'lqtyToken()': FunctionFragment;
        'lusdToken()': FunctionFragment;
        'owner()': FunctionFragment;
        'priceFeed()': FunctionFragment;
        'redeemCollateral(uint256,address,address,address,uint256,uint256,uint256)': FunctionFragment;
        'removeStake(address)': FunctionFragment;
        'rewardSnapshots(address)': FunctionFragment;
        'setAddresses(address,address,address,address,address,address,address,address,address,address,address)': FunctionFragment;
        'setTroveStatus(address,uint256)': FunctionFragment;
        'sortedTroves()': FunctionFragment;
        'stabilityPool()': FunctionFragment;
        'totalCollateralSnapshot()': FunctionFragment;
        'totalStakes()': FunctionFragment;
        'totalStakesSnapshot()': FunctionFragment;
        'updateStakeAndTotalStakes(address)': FunctionFragment;
        'updateTroveRewardSnapshots(address)': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'BETA' | 'BOOTSTRAP_PERIOD' | 'BORROWING_FEE_FLOOR' | 'CCR' | 'DECIMAL_PRECISION' | 'LUSD_GAS_COMPENSATION' | 'L_ETH' | 'L_LUSDDebt' | 'MAX_BORROWING_FEE' | 'MCR' | 'MINUTE_DECAY_FACTOR' | 'MIN_NET_DEBT' | 'NAME' | 'PERCENT_DIVISOR' | 'REDEMPTION_FEE_FLOOR' | 'SECONDS_IN_ONE_MINUTE' | 'TroveOwners' | 'Troves' | '_100pct' | 'activePool' | 'addTroveOwnerToArray' | 'applyPendingRewards' | 'baseRate' | 'batchLiquidateTroves' | 'borrowerOperationsAddress' | 'checkRecoveryMode' | 'closeTrove' | 'decayBaseRateFromBorrowing' | 'decreaseTroveColl' | 'decreaseTroveDebt' | 'defaultPool' | 'getBorrowingFee' | 'getBorrowingFeeWithDecay' | 'getBorrowingRate' | 'getBorrowingRateWithDecay' | 'getCurrentICR' | 'getEntireDebtAndColl' | 'getEntireSystemColl' | 'getEntireSystemDebt' | 'getNominalICR' | 'getPendingETHReward' | 'getPendingLUSDDebtReward' | 'getRedemptionFeeWithDecay' | 'getRedemptionRate' | 'getRedemptionRateWithDecay' | 'getTCR' | 'getTroveColl' | 'getTroveDebt' | 'getTroveFromTroveOwnersArray' | 'getTroveOwnersCount' | 'getTroveStake' | 'getTroveStatus' | 'hasPendingRewards' | 'increaseTroveColl' | 'increaseTroveDebt' | 'isOwner' | 'lastETHError_Redistribution' | 'lastFeeOperationTime' | 'lastLUSDDebtError_Redistribution' | 'liquidate' | 'liquidateTroves' | 'lqtyStaking' | 'lqtyToken' | 'lusdToken' | 'owner' | 'priceFeed' | 'redeemCollateral' | 'removeStake' | 'rewardSnapshots' | 'setAddresses' | 'setTroveStatus' | 'sortedTroves' | 'stabilityPool' | 'totalCollateralSnapshot' | 'totalStakes' | 'totalStakesSnapshot' | 'updateStakeAndTotalStakes' | 'updateTroveRewardSnapshots'): FunctionFragment;
    encodeFunctionData(functionFragment: 'BETA', values?: undefined): string;
    encodeFunctionData(functionFragment: 'BOOTSTRAP_PERIOD', values?: undefined): string;
    encodeFunctionData(functionFragment: 'BORROWING_FEE_FLOOR', values?: undefined): string;
    encodeFunctionData(functionFragment: 'CCR', values?: undefined): string;
    encodeFunctionData(functionFragment: 'DECIMAL_PRECISION', values?: undefined): string;
    encodeFunctionData(functionFragment: 'LUSD_GAS_COMPENSATION', values?: undefined): string;
    encodeFunctionData(functionFragment: 'L_ETH', values?: undefined): string;
    encodeFunctionData(functionFragment: 'L_LUSDDebt', values?: undefined): string;
    encodeFunctionData(functionFragment: 'MAX_BORROWING_FEE', values?: undefined): string;
    encodeFunctionData(functionFragment: 'MCR', values?: undefined): string;
    encodeFunctionData(functionFragment: 'MINUTE_DECAY_FACTOR', values?: undefined): string;
    encodeFunctionData(functionFragment: 'MIN_NET_DEBT', values?: undefined): string;
    encodeFunctionData(functionFragment: 'NAME', values?: undefined): string;
    encodeFunctionData(functionFragment: 'PERCENT_DIVISOR', values?: undefined): string;
    encodeFunctionData(functionFragment: 'REDEMPTION_FEE_FLOOR', values?: undefined): string;
    encodeFunctionData(functionFragment: 'SECONDS_IN_ONE_MINUTE', values?: undefined): string;
    encodeFunctionData(functionFragment: 'TroveOwners', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'Troves', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: '_100pct', values?: undefined): string;
    encodeFunctionData(functionFragment: 'activePool', values?: undefined): string;
    encodeFunctionData(functionFragment: 'addTroveOwnerToArray', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'applyPendingRewards', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'baseRate', values?: undefined): string;
    encodeFunctionData(functionFragment: 'batchLiquidateTroves', values: [PromiseOrValue<string>[]]): string;
    encodeFunctionData(functionFragment: 'borrowerOperationsAddress', values?: undefined): string;
    encodeFunctionData(functionFragment: 'checkRecoveryMode', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'closeTrove', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'decayBaseRateFromBorrowing', values?: undefined): string;
    encodeFunctionData(functionFragment: 'decreaseTroveColl', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'decreaseTroveDebt', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'defaultPool', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getBorrowingFee', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getBorrowingFeeWithDecay', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getBorrowingRate', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getBorrowingRateWithDecay', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getCurrentICR', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getEntireDebtAndColl', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getEntireSystemColl', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getEntireSystemDebt', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getNominalICR', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getPendingETHReward', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getPendingLUSDDebtReward', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getRedemptionFeeWithDecay', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getRedemptionRate', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getRedemptionRateWithDecay', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getTCR', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getTroveColl', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getTroveDebt', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getTroveFromTroveOwnersArray', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getTroveOwnersCount', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getTroveStake', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getTroveStatus', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'hasPendingRewards', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'increaseTroveColl', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'increaseTroveDebt', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'isOwner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'lastETHError_Redistribution', values?: undefined): string;
    encodeFunctionData(functionFragment: 'lastFeeOperationTime', values?: undefined): string;
    encodeFunctionData(functionFragment: 'lastLUSDDebtError_Redistribution', values?: undefined): string;
    encodeFunctionData(functionFragment: 'liquidate', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'liquidateTroves', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'lqtyStaking', values?: undefined): string;
    encodeFunctionData(functionFragment: 'lqtyToken', values?: undefined): string;
    encodeFunctionData(functionFragment: 'lusdToken', values?: undefined): string;
    encodeFunctionData(functionFragment: 'owner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'priceFeed', values?: undefined): string;
    encodeFunctionData(functionFragment: 'redeemCollateral', values: [
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: 'removeStake', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'rewardSnapshots', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setAddresses', values: [
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>
    ]): string;
    encodeFunctionData(functionFragment: 'setTroveStatus', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'sortedTroves', values?: undefined): string;
    encodeFunctionData(functionFragment: 'stabilityPool', values?: undefined): string;
    encodeFunctionData(functionFragment: 'totalCollateralSnapshot', values?: undefined): string;
    encodeFunctionData(functionFragment: 'totalStakes', values?: undefined): string;
    encodeFunctionData(functionFragment: 'totalStakesSnapshot', values?: undefined): string;
    encodeFunctionData(functionFragment: 'updateStakeAndTotalStakes', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'updateTroveRewardSnapshots', values: [PromiseOrValue<string>]): string;
    decodeFunctionResult(functionFragment: 'BETA', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'BOOTSTRAP_PERIOD', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'BORROWING_FEE_FLOOR', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'CCR', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'DECIMAL_PRECISION', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'LUSD_GAS_COMPENSATION', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'L_ETH', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'L_LUSDDebt', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'MAX_BORROWING_FEE', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'MCR', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'MINUTE_DECAY_FACTOR', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'MIN_NET_DEBT', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'NAME', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'PERCENT_DIVISOR', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'REDEMPTION_FEE_FLOOR', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'SECONDS_IN_ONE_MINUTE', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'TroveOwners', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'Troves', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_100pct', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'activePool', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'addTroveOwnerToArray', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'applyPendingRewards', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'baseRate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'batchLiquidateTroves', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'borrowerOperationsAddress', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'checkRecoveryMode', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'closeTrove', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'decayBaseRateFromBorrowing', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'decreaseTroveColl', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'decreaseTroveDebt', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'defaultPool', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getBorrowingFee', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getBorrowingFeeWithDecay', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getBorrowingRate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getBorrowingRateWithDecay', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getCurrentICR', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getEntireDebtAndColl', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getEntireSystemColl', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getEntireSystemDebt', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getNominalICR', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getPendingETHReward', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getPendingLUSDDebtReward', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRedemptionFeeWithDecay', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRedemptionRate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRedemptionRateWithDecay', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getTCR', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getTroveColl', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getTroveDebt', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getTroveFromTroveOwnersArray', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getTroveOwnersCount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getTroveStake', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getTroveStatus', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'hasPendingRewards', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'increaseTroveColl', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'increaseTroveDebt', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isOwner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'lastETHError_Redistribution', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'lastFeeOperationTime', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'lastLUSDDebtError_Redistribution', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'liquidate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'liquidateTroves', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'lqtyStaking', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'lqtyToken', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'lusdToken', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'priceFeed', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'redeemCollateral', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'removeStake', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rewardSnapshots', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setAddresses', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setTroveStatus', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'sortedTroves', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'stabilityPool', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'totalCollateralSnapshot', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'totalStakes', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'totalStakesSnapshot', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'updateStakeAndTotalStakes', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'updateTroveRewardSnapshots', data: BytesLike): Result;
    events: {
        'ActivePoolAddressChanged(address)': EventFragment;
        'BaseRateUpdated(uint256)': EventFragment;
        'BorrowerOperationsAddressChanged(address)': EventFragment;
        'CollSurplusPoolAddressChanged(address)': EventFragment;
        'DefaultPoolAddressChanged(address)': EventFragment;
        'GasPoolAddressChanged(address)': EventFragment;
        'LQTYStakingAddressChanged(address)': EventFragment;
        'LQTYTokenAddressChanged(address)': EventFragment;
        'LTermsUpdated(uint256,uint256)': EventFragment;
        'LUSDTokenAddressChanged(address)': EventFragment;
        'LastFeeOpTimeUpdated(uint256)': EventFragment;
        'Liquidation(uint256,uint256,uint256,uint256)': EventFragment;
        'OwnershipTransferred(address,address)': EventFragment;
        'PriceFeedAddressChanged(address)': EventFragment;
        'Redemption(uint256,uint256,uint256,uint256)': EventFragment;
        'SortedTrovesAddressChanged(address)': EventFragment;
        'StabilityPoolAddressChanged(address)': EventFragment;
        'SystemSnapshotsUpdated(uint256,uint256)': EventFragment;
        'TotalStakesUpdated(uint256)': EventFragment;
        'TroveIndexUpdated(address,uint256)': EventFragment;
        'TroveLiquidated(address,uint256,uint256,uint8)': EventFragment;
        'TroveSnapshotsUpdated(uint256,uint256)': EventFragment;
        'TroveUpdated(address,uint256,uint256,uint256,uint8)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'ActivePoolAddressChanged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'BaseRateUpdated'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'BorrowerOperationsAddressChanged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'CollSurplusPoolAddressChanged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'DefaultPoolAddressChanged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'GasPoolAddressChanged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'LQTYStakingAddressChanged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'LQTYTokenAddressChanged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'LTermsUpdated'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'LUSDTokenAddressChanged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'LastFeeOpTimeUpdated'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Liquidation'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'PriceFeedAddressChanged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Redemption'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SortedTrovesAddressChanged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'StabilityPoolAddressChanged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SystemSnapshotsUpdated'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'TotalStakesUpdated'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'TroveIndexUpdated'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'TroveLiquidated'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'TroveSnapshotsUpdated'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'TroveUpdated'): EventFragment;
}
export interface ActivePoolAddressChangedEventObject {
    _activePoolAddress: string;
}
export declare type ActivePoolAddressChangedEvent = TypedEvent<[string], ActivePoolAddressChangedEventObject>;
export declare type ActivePoolAddressChangedEventFilter = TypedEventFilter<ActivePoolAddressChangedEvent>;
export interface BaseRateUpdatedEventObject {
    _baseRate: BigNumber;
}
export declare type BaseRateUpdatedEvent = TypedEvent<[BigNumber], BaseRateUpdatedEventObject>;
export declare type BaseRateUpdatedEventFilter = TypedEventFilter<BaseRateUpdatedEvent>;
export interface BorrowerOperationsAddressChangedEventObject {
    _newBorrowerOperationsAddress: string;
}
export declare type BorrowerOperationsAddressChangedEvent = TypedEvent<[string], BorrowerOperationsAddressChangedEventObject>;
export declare type BorrowerOperationsAddressChangedEventFilter = TypedEventFilter<BorrowerOperationsAddressChangedEvent>;
export interface CollSurplusPoolAddressChangedEventObject {
    _collSurplusPoolAddress: string;
}
export declare type CollSurplusPoolAddressChangedEvent = TypedEvent<[string], CollSurplusPoolAddressChangedEventObject>;
export declare type CollSurplusPoolAddressChangedEventFilter = TypedEventFilter<CollSurplusPoolAddressChangedEvent>;
export interface DefaultPoolAddressChangedEventObject {
    _defaultPoolAddress: string;
}
export declare type DefaultPoolAddressChangedEvent = TypedEvent<[string], DefaultPoolAddressChangedEventObject>;
export declare type DefaultPoolAddressChangedEventFilter = TypedEventFilter<DefaultPoolAddressChangedEvent>;
export interface GasPoolAddressChangedEventObject {
    _gasPoolAddress: string;
}
export declare type GasPoolAddressChangedEvent = TypedEvent<[string], GasPoolAddressChangedEventObject>;
export declare type GasPoolAddressChangedEventFilter = TypedEventFilter<GasPoolAddressChangedEvent>;
export interface LQTYStakingAddressChangedEventObject {
    _lqtyStakingAddress: string;
}
export declare type LQTYStakingAddressChangedEvent = TypedEvent<[string], LQTYStakingAddressChangedEventObject>;
export declare type LQTYStakingAddressChangedEventFilter = TypedEventFilter<LQTYStakingAddressChangedEvent>;
export interface LQTYTokenAddressChangedEventObject {
    _lqtyTokenAddress: string;
}
export declare type LQTYTokenAddressChangedEvent = TypedEvent<[string], LQTYTokenAddressChangedEventObject>;
export declare type LQTYTokenAddressChangedEventFilter = TypedEventFilter<LQTYTokenAddressChangedEvent>;
export interface LTermsUpdatedEventObject {
    _L_ETH: BigNumber;
    _L_LUSDDebt: BigNumber;
}
export declare type LTermsUpdatedEvent = TypedEvent<[BigNumber, BigNumber], LTermsUpdatedEventObject>;
export declare type LTermsUpdatedEventFilter = TypedEventFilter<LTermsUpdatedEvent>;
export interface LUSDTokenAddressChangedEventObject {
    _newLUSDTokenAddress: string;
}
export declare type LUSDTokenAddressChangedEvent = TypedEvent<[string], LUSDTokenAddressChangedEventObject>;
export declare type LUSDTokenAddressChangedEventFilter = TypedEventFilter<LUSDTokenAddressChangedEvent>;
export interface LastFeeOpTimeUpdatedEventObject {
    _lastFeeOpTime: BigNumber;
}
export declare type LastFeeOpTimeUpdatedEvent = TypedEvent<[BigNumber], LastFeeOpTimeUpdatedEventObject>;
export declare type LastFeeOpTimeUpdatedEventFilter = TypedEventFilter<LastFeeOpTimeUpdatedEvent>;
export interface LiquidationEventObject {
    _liquidatedDebt: BigNumber;
    _liquidatedColl: BigNumber;
    _collGasCompensation: BigNumber;
    _LUSDGasCompensation: BigNumber;
}
export declare type LiquidationEvent = TypedEvent<[BigNumber, BigNumber, BigNumber, BigNumber], LiquidationEventObject>;
export declare type LiquidationEventFilter = TypedEventFilter<LiquidationEvent>;
export interface OwnershipTransferredEventObject {
    previousOwner: string;
    newOwner: string;
}
export declare type OwnershipTransferredEvent = TypedEvent<[string, string], OwnershipTransferredEventObject>;
export declare type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
export interface PriceFeedAddressChangedEventObject {
    _newPriceFeedAddress: string;
}
export declare type PriceFeedAddressChangedEvent = TypedEvent<[string], PriceFeedAddressChangedEventObject>;
export declare type PriceFeedAddressChangedEventFilter = TypedEventFilter<PriceFeedAddressChangedEvent>;
export interface RedemptionEventObject {
    _attemptedLUSDAmount: BigNumber;
    _actualLUSDAmount: BigNumber;
    _ETHSent: BigNumber;
    _ETHFee: BigNumber;
}
export declare type RedemptionEvent = TypedEvent<[BigNumber, BigNumber, BigNumber, BigNumber], RedemptionEventObject>;
export declare type RedemptionEventFilter = TypedEventFilter<RedemptionEvent>;
export interface SortedTrovesAddressChangedEventObject {
    _sortedTrovesAddress: string;
}
export declare type SortedTrovesAddressChangedEvent = TypedEvent<[string], SortedTrovesAddressChangedEventObject>;
export declare type SortedTrovesAddressChangedEventFilter = TypedEventFilter<SortedTrovesAddressChangedEvent>;
export interface StabilityPoolAddressChangedEventObject {
    _stabilityPoolAddress: string;
}
export declare type StabilityPoolAddressChangedEvent = TypedEvent<[string], StabilityPoolAddressChangedEventObject>;
export declare type StabilityPoolAddressChangedEventFilter = TypedEventFilter<StabilityPoolAddressChangedEvent>;
export interface SystemSnapshotsUpdatedEventObject {
    _totalStakesSnapshot: BigNumber;
    _totalCollateralSnapshot: BigNumber;
}
export declare type SystemSnapshotsUpdatedEvent = TypedEvent<[BigNumber, BigNumber], SystemSnapshotsUpdatedEventObject>;
export declare type SystemSnapshotsUpdatedEventFilter = TypedEventFilter<SystemSnapshotsUpdatedEvent>;
export interface TotalStakesUpdatedEventObject {
    _newTotalStakes: BigNumber;
}
export declare type TotalStakesUpdatedEvent = TypedEvent<[BigNumber], TotalStakesUpdatedEventObject>;
export declare type TotalStakesUpdatedEventFilter = TypedEventFilter<TotalStakesUpdatedEvent>;
export interface TroveIndexUpdatedEventObject {
    _borrower: string;
    _newIndex: BigNumber;
}
export declare type TroveIndexUpdatedEvent = TypedEvent<[string, BigNumber], TroveIndexUpdatedEventObject>;
export declare type TroveIndexUpdatedEventFilter = TypedEventFilter<TroveIndexUpdatedEvent>;
export interface TroveLiquidatedEventObject {
    _borrower: string;
    _debt: BigNumber;
    _coll: BigNumber;
    _operation: number;
}
export declare type TroveLiquidatedEvent = TypedEvent<[string, BigNumber, BigNumber, number], TroveLiquidatedEventObject>;
export declare type TroveLiquidatedEventFilter = TypedEventFilter<TroveLiquidatedEvent>;
export interface TroveSnapshotsUpdatedEventObject {
    _L_ETH: BigNumber;
    _L_LUSDDebt: BigNumber;
}
export declare type TroveSnapshotsUpdatedEvent = TypedEvent<[BigNumber, BigNumber], TroveSnapshotsUpdatedEventObject>;
export declare type TroveSnapshotsUpdatedEventFilter = TypedEventFilter<TroveSnapshotsUpdatedEvent>;
export interface TroveUpdatedEventObject {
    _borrower: string;
    _debt: BigNumber;
    _coll: BigNumber;
    _stake: BigNumber;
    _operation: number;
}
export declare type TroveUpdatedEvent = TypedEvent<[string, BigNumber, BigNumber, BigNumber, number], TroveUpdatedEventObject>;
export declare type TroveUpdatedEventFilter = TypedEventFilter<TroveUpdatedEvent>;
export interface TroveManager extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: TroveManagerInterface;
    queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
    listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
    listeners(eventName?: string): Array<Listener>;
    removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
    removeAllListeners(eventName?: string): this;
    off: OnEvent<this>;
    on: OnEvent<this>;
    once: OnEvent<this>;
    removeListener: OnEvent<this>;
    functions: {
        BETA(overrides?: CallOverrides): Promise<[BigNumber]>;
        BOOTSTRAP_PERIOD(overrides?: CallOverrides): Promise<[BigNumber]>;
        BORROWING_FEE_FLOOR(overrides?: CallOverrides): Promise<[BigNumber]>;
        CCR(overrides?: CallOverrides): Promise<[BigNumber]>;
        DECIMAL_PRECISION(overrides?: CallOverrides): Promise<[BigNumber]>;
        LUSD_GAS_COMPENSATION(overrides?: CallOverrides): Promise<[BigNumber]>;
        L_ETH(overrides?: CallOverrides): Promise<[BigNumber]>;
        L_LUSDDebt(overrides?: CallOverrides): Promise<[BigNumber]>;
        MAX_BORROWING_FEE(overrides?: CallOverrides): Promise<[BigNumber]>;
        MCR(overrides?: CallOverrides): Promise<[BigNumber]>;
        MINUTE_DECAY_FACTOR(overrides?: CallOverrides): Promise<[BigNumber]>;
        MIN_NET_DEBT(overrides?: CallOverrides): Promise<[BigNumber]>;
        NAME(overrides?: CallOverrides): Promise<[string]>;
        PERCENT_DIVISOR(overrides?: CallOverrides): Promise<[BigNumber]>;
        REDEMPTION_FEE_FLOOR(overrides?: CallOverrides): Promise<[BigNumber]>;
        SECONDS_IN_ONE_MINUTE(overrides?: CallOverrides): Promise<[BigNumber]>;
        TroveOwners(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        Troves(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
            BigNumber,
            BigNumber,
            BigNumber,
            number,
            BigNumber
        ] & {
            debt: BigNumber;
            coll: BigNumber;
            stake: BigNumber;
            status: number;
            arrayIndex: BigNumber;
        }>;
        _100pct(overrides?: CallOverrides): Promise<[BigNumber]>;
        activePool(overrides?: CallOverrides): Promise<[string]>;
        addTroveOwnerToArray(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        applyPendingRewards(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        baseRate(overrides?: CallOverrides): Promise<[BigNumber]>;
        batchLiquidateTroves(_troveArray: PromiseOrValue<string>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        borrowerOperationsAddress(overrides?: CallOverrides): Promise<[string]>;
        checkRecoveryMode(_price: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[boolean]>;
        closeTrove(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        decayBaseRateFromBorrowing(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        decreaseTroveColl(_borrower: PromiseOrValue<string>, _collDecrease: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        decreaseTroveDebt(_borrower: PromiseOrValue<string>, _debtDecrease: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        defaultPool(overrides?: CallOverrides): Promise<[string]>;
        getBorrowingFee(_LUSDDebt: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getBorrowingFeeWithDecay(_LUSDDebt: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getBorrowingRate(overrides?: CallOverrides): Promise<[BigNumber]>;
        getBorrowingRateWithDecay(overrides?: CallOverrides): Promise<[BigNumber]>;
        getCurrentICR(_borrower: PromiseOrValue<string>, _price: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getEntireDebtAndColl(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber
        ] & {
            debt: BigNumber;
            coll: BigNumber;
            pendingLUSDDebtReward: BigNumber;
            pendingETHReward: BigNumber;
        }>;
        getEntireSystemColl(overrides?: CallOverrides): Promise<[BigNumber] & {
            entireSystemColl: BigNumber;
        }>;
        getEntireSystemDebt(overrides?: CallOverrides): Promise<[BigNumber] & {
            entireSystemDebt: BigNumber;
        }>;
        getNominalICR(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getPendingETHReward(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getPendingLUSDDebtReward(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getRedemptionFeeWithDecay(_ETHDrawn: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getRedemptionRate(overrides?: CallOverrides): Promise<[BigNumber]>;
        getRedemptionRateWithDecay(overrides?: CallOverrides): Promise<[BigNumber]>;
        getTCR(_price: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getTroveColl(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getTroveDebt(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getTroveFromTroveOwnersArray(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        getTroveOwnersCount(overrides?: CallOverrides): Promise<[BigNumber]>;
        getTroveStake(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        getTroveStatus(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        hasPendingRewards(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        increaseTroveColl(_borrower: PromiseOrValue<string>, _collIncrease: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        increaseTroveDebt(_borrower: PromiseOrValue<string>, _debtIncrease: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        isOwner(overrides?: CallOverrides): Promise<[boolean]>;
        lastETHError_Redistribution(overrides?: CallOverrides): Promise<[BigNumber]>;
        lastFeeOperationTime(overrides?: CallOverrides): Promise<[BigNumber]>;
        lastLUSDDebtError_Redistribution(overrides?: CallOverrides): Promise<[BigNumber]>;
        liquidate(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        liquidateTroves(_n: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        lqtyStaking(overrides?: CallOverrides): Promise<[string]>;
        lqtyToken(overrides?: CallOverrides): Promise<[string]>;
        lusdToken(overrides?: CallOverrides): Promise<[string]>;
        owner(overrides?: CallOverrides): Promise<[string]>;
        priceFeed(overrides?: CallOverrides): Promise<[string]>;
        redeemCollateral(_LUSDamount: PromiseOrValue<BigNumberish>, _firstRedemptionHint: PromiseOrValue<string>, _upperPartialRedemptionHint: PromiseOrValue<string>, _lowerPartialRedemptionHint: PromiseOrValue<string>, _partialRedemptionHintNICR: PromiseOrValue<BigNumberish>, _maxIterations: PromiseOrValue<BigNumberish>, _maxFeePercentage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        removeStake(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        rewardSnapshots(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
            ETH: BigNumber;
            LUSDDebt: BigNumber;
        }>;
        setAddresses(_borrowerOperationsAddress: PromiseOrValue<string>, _activePoolAddress: PromiseOrValue<string>, _defaultPoolAddress: PromiseOrValue<string>, _stabilityPoolAddress: PromiseOrValue<string>, _gasPoolAddress: PromiseOrValue<string>, _collSurplusPoolAddress: PromiseOrValue<string>, _priceFeedAddress: PromiseOrValue<string>, _lusdTokenAddress: PromiseOrValue<string>, _sortedTrovesAddress: PromiseOrValue<string>, _lqtyTokenAddress: PromiseOrValue<string>, _lqtyStakingAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setTroveStatus(_borrower: PromiseOrValue<string>, _num: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        sortedTroves(overrides?: CallOverrides): Promise<[string]>;
        stabilityPool(overrides?: CallOverrides): Promise<[string]>;
        totalCollateralSnapshot(overrides?: CallOverrides): Promise<[BigNumber]>;
        totalStakes(overrides?: CallOverrides): Promise<[BigNumber]>;
        totalStakesSnapshot(overrides?: CallOverrides): Promise<[BigNumber]>;
        updateStakeAndTotalStakes(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        updateTroveRewardSnapshots(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
    };
    BETA(overrides?: CallOverrides): Promise<BigNumber>;
    BOOTSTRAP_PERIOD(overrides?: CallOverrides): Promise<BigNumber>;
    BORROWING_FEE_FLOOR(overrides?: CallOverrides): Promise<BigNumber>;
    CCR(overrides?: CallOverrides): Promise<BigNumber>;
    DECIMAL_PRECISION(overrides?: CallOverrides): Promise<BigNumber>;
    LUSD_GAS_COMPENSATION(overrides?: CallOverrides): Promise<BigNumber>;
    L_ETH(overrides?: CallOverrides): Promise<BigNumber>;
    L_LUSDDebt(overrides?: CallOverrides): Promise<BigNumber>;
    MAX_BORROWING_FEE(overrides?: CallOverrides): Promise<BigNumber>;
    MCR(overrides?: CallOverrides): Promise<BigNumber>;
    MINUTE_DECAY_FACTOR(overrides?: CallOverrides): Promise<BigNumber>;
    MIN_NET_DEBT(overrides?: CallOverrides): Promise<BigNumber>;
    NAME(overrides?: CallOverrides): Promise<string>;
    PERCENT_DIVISOR(overrides?: CallOverrides): Promise<BigNumber>;
    REDEMPTION_FEE_FLOOR(overrides?: CallOverrides): Promise<BigNumber>;
    SECONDS_IN_ONE_MINUTE(overrides?: CallOverrides): Promise<BigNumber>;
    TroveOwners(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    Troves(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
        BigNumber,
        BigNumber,
        BigNumber,
        number,
        BigNumber
    ] & {
        debt: BigNumber;
        coll: BigNumber;
        stake: BigNumber;
        status: number;
        arrayIndex: BigNumber;
    }>;
    _100pct(overrides?: CallOverrides): Promise<BigNumber>;
    activePool(overrides?: CallOverrides): Promise<string>;
    addTroveOwnerToArray(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    applyPendingRewards(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    baseRate(overrides?: CallOverrides): Promise<BigNumber>;
    batchLiquidateTroves(_troveArray: PromiseOrValue<string>[], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    borrowerOperationsAddress(overrides?: CallOverrides): Promise<string>;
    checkRecoveryMode(_price: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
    closeTrove(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    decayBaseRateFromBorrowing(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    decreaseTroveColl(_borrower: PromiseOrValue<string>, _collDecrease: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    decreaseTroveDebt(_borrower: PromiseOrValue<string>, _debtDecrease: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    defaultPool(overrides?: CallOverrides): Promise<string>;
    getBorrowingFee(_LUSDDebt: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    getBorrowingFeeWithDecay(_LUSDDebt: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    getBorrowingRate(overrides?: CallOverrides): Promise<BigNumber>;
    getBorrowingRateWithDecay(overrides?: CallOverrides): Promise<BigNumber>;
    getCurrentICR(_borrower: PromiseOrValue<string>, _price: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    getEntireDebtAndColl(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
        BigNumber,
        BigNumber,
        BigNumber,
        BigNumber
    ] & {
        debt: BigNumber;
        coll: BigNumber;
        pendingLUSDDebtReward: BigNumber;
        pendingETHReward: BigNumber;
    }>;
    getEntireSystemColl(overrides?: CallOverrides): Promise<BigNumber>;
    getEntireSystemDebt(overrides?: CallOverrides): Promise<BigNumber>;
    getNominalICR(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    getPendingETHReward(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    getPendingLUSDDebtReward(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    getRedemptionFeeWithDecay(_ETHDrawn: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    getRedemptionRate(overrides?: CallOverrides): Promise<BigNumber>;
    getRedemptionRateWithDecay(overrides?: CallOverrides): Promise<BigNumber>;
    getTCR(_price: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    getTroveColl(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    getTroveDebt(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    getTroveFromTroveOwnersArray(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    getTroveOwnersCount(overrides?: CallOverrides): Promise<BigNumber>;
    getTroveStake(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    getTroveStatus(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    hasPendingRewards(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    increaseTroveColl(_borrower: PromiseOrValue<string>, _collIncrease: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    increaseTroveDebt(_borrower: PromiseOrValue<string>, _debtIncrease: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    isOwner(overrides?: CallOverrides): Promise<boolean>;
    lastETHError_Redistribution(overrides?: CallOverrides): Promise<BigNumber>;
    lastFeeOperationTime(overrides?: CallOverrides): Promise<BigNumber>;
    lastLUSDDebtError_Redistribution(overrides?: CallOverrides): Promise<BigNumber>;
    liquidate(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    liquidateTroves(_n: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    lqtyStaking(overrides?: CallOverrides): Promise<string>;
    lqtyToken(overrides?: CallOverrides): Promise<string>;
    lusdToken(overrides?: CallOverrides): Promise<string>;
    owner(overrides?: CallOverrides): Promise<string>;
    priceFeed(overrides?: CallOverrides): Promise<string>;
    redeemCollateral(_LUSDamount: PromiseOrValue<BigNumberish>, _firstRedemptionHint: PromiseOrValue<string>, _upperPartialRedemptionHint: PromiseOrValue<string>, _lowerPartialRedemptionHint: PromiseOrValue<string>, _partialRedemptionHintNICR: PromiseOrValue<BigNumberish>, _maxIterations: PromiseOrValue<BigNumberish>, _maxFeePercentage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    removeStake(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    rewardSnapshots(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
        ETH: BigNumber;
        LUSDDebt: BigNumber;
    }>;
    setAddresses(_borrowerOperationsAddress: PromiseOrValue<string>, _activePoolAddress: PromiseOrValue<string>, _defaultPoolAddress: PromiseOrValue<string>, _stabilityPoolAddress: PromiseOrValue<string>, _gasPoolAddress: PromiseOrValue<string>, _collSurplusPoolAddress: PromiseOrValue<string>, _priceFeedAddress: PromiseOrValue<string>, _lusdTokenAddress: PromiseOrValue<string>, _sortedTrovesAddress: PromiseOrValue<string>, _lqtyTokenAddress: PromiseOrValue<string>, _lqtyStakingAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setTroveStatus(_borrower: PromiseOrValue<string>, _num: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    sortedTroves(overrides?: CallOverrides): Promise<string>;
    stabilityPool(overrides?: CallOverrides): Promise<string>;
    totalCollateralSnapshot(overrides?: CallOverrides): Promise<BigNumber>;
    totalStakes(overrides?: CallOverrides): Promise<BigNumber>;
    totalStakesSnapshot(overrides?: CallOverrides): Promise<BigNumber>;
    updateStakeAndTotalStakes(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    updateTroveRewardSnapshots(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    callStatic: {
        BETA(overrides?: CallOverrides): Promise<BigNumber>;
        BOOTSTRAP_PERIOD(overrides?: CallOverrides): Promise<BigNumber>;
        BORROWING_FEE_FLOOR(overrides?: CallOverrides): Promise<BigNumber>;
        CCR(overrides?: CallOverrides): Promise<BigNumber>;
        DECIMAL_PRECISION(overrides?: CallOverrides): Promise<BigNumber>;
        LUSD_GAS_COMPENSATION(overrides?: CallOverrides): Promise<BigNumber>;
        L_ETH(overrides?: CallOverrides): Promise<BigNumber>;
        L_LUSDDebt(overrides?: CallOverrides): Promise<BigNumber>;
        MAX_BORROWING_FEE(overrides?: CallOverrides): Promise<BigNumber>;
        MCR(overrides?: CallOverrides): Promise<BigNumber>;
        MINUTE_DECAY_FACTOR(overrides?: CallOverrides): Promise<BigNumber>;
        MIN_NET_DEBT(overrides?: CallOverrides): Promise<BigNumber>;
        NAME(overrides?: CallOverrides): Promise<string>;
        PERCENT_DIVISOR(overrides?: CallOverrides): Promise<BigNumber>;
        REDEMPTION_FEE_FLOOR(overrides?: CallOverrides): Promise<BigNumber>;
        SECONDS_IN_ONE_MINUTE(overrides?: CallOverrides): Promise<BigNumber>;
        TroveOwners(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        Troves(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
            BigNumber,
            BigNumber,
            BigNumber,
            number,
            BigNumber
        ] & {
            debt: BigNumber;
            coll: BigNumber;
            stake: BigNumber;
            status: number;
            arrayIndex: BigNumber;
        }>;
        _100pct(overrides?: CallOverrides): Promise<BigNumber>;
        activePool(overrides?: CallOverrides): Promise<string>;
        addTroveOwnerToArray(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        applyPendingRewards(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        baseRate(overrides?: CallOverrides): Promise<BigNumber>;
        batchLiquidateTroves(_troveArray: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>;
        borrowerOperationsAddress(overrides?: CallOverrides): Promise<string>;
        checkRecoveryMode(_price: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        closeTrove(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        decayBaseRateFromBorrowing(overrides?: CallOverrides): Promise<void>;
        decreaseTroveColl(_borrower: PromiseOrValue<string>, _collDecrease: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        decreaseTroveDebt(_borrower: PromiseOrValue<string>, _debtDecrease: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        defaultPool(overrides?: CallOverrides): Promise<string>;
        getBorrowingFee(_LUSDDebt: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getBorrowingFeeWithDecay(_LUSDDebt: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getBorrowingRate(overrides?: CallOverrides): Promise<BigNumber>;
        getBorrowingRateWithDecay(overrides?: CallOverrides): Promise<BigNumber>;
        getCurrentICR(_borrower: PromiseOrValue<string>, _price: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getEntireDebtAndColl(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
            BigNumber,
            BigNumber,
            BigNumber,
            BigNumber
        ] & {
            debt: BigNumber;
            coll: BigNumber;
            pendingLUSDDebtReward: BigNumber;
            pendingETHReward: BigNumber;
        }>;
        getEntireSystemColl(overrides?: CallOverrides): Promise<BigNumber>;
        getEntireSystemDebt(overrides?: CallOverrides): Promise<BigNumber>;
        getNominalICR(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getPendingETHReward(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getPendingLUSDDebtReward(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getRedemptionFeeWithDecay(_ETHDrawn: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getRedemptionRate(overrides?: CallOverrides): Promise<BigNumber>;
        getRedemptionRateWithDecay(overrides?: CallOverrides): Promise<BigNumber>;
        getTCR(_price: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getTroveColl(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getTroveDebt(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getTroveFromTroveOwnersArray(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        getTroveOwnersCount(overrides?: CallOverrides): Promise<BigNumber>;
        getTroveStake(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getTroveStatus(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        hasPendingRewards(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        increaseTroveColl(_borrower: PromiseOrValue<string>, _collIncrease: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        increaseTroveDebt(_borrower: PromiseOrValue<string>, _debtIncrease: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        isOwner(overrides?: CallOverrides): Promise<boolean>;
        lastETHError_Redistribution(overrides?: CallOverrides): Promise<BigNumber>;
        lastFeeOperationTime(overrides?: CallOverrides): Promise<BigNumber>;
        lastLUSDDebtError_Redistribution(overrides?: CallOverrides): Promise<BigNumber>;
        liquidate(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        liquidateTroves(_n: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        lqtyStaking(overrides?: CallOverrides): Promise<string>;
        lqtyToken(overrides?: CallOverrides): Promise<string>;
        lusdToken(overrides?: CallOverrides): Promise<string>;
        owner(overrides?: CallOverrides): Promise<string>;
        priceFeed(overrides?: CallOverrides): Promise<string>;
        redeemCollateral(_LUSDamount: PromiseOrValue<BigNumberish>, _firstRedemptionHint: PromiseOrValue<string>, _upperPartialRedemptionHint: PromiseOrValue<string>, _lowerPartialRedemptionHint: PromiseOrValue<string>, _partialRedemptionHintNICR: PromiseOrValue<BigNumberish>, _maxIterations: PromiseOrValue<BigNumberish>, _maxFeePercentage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        removeStake(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        rewardSnapshots(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber] & {
            ETH: BigNumber;
            LUSDDebt: BigNumber;
        }>;
        setAddresses(_borrowerOperationsAddress: PromiseOrValue<string>, _activePoolAddress: PromiseOrValue<string>, _defaultPoolAddress: PromiseOrValue<string>, _stabilityPoolAddress: PromiseOrValue<string>, _gasPoolAddress: PromiseOrValue<string>, _collSurplusPoolAddress: PromiseOrValue<string>, _priceFeedAddress: PromiseOrValue<string>, _lusdTokenAddress: PromiseOrValue<string>, _sortedTrovesAddress: PromiseOrValue<string>, _lqtyTokenAddress: PromiseOrValue<string>, _lqtyStakingAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setTroveStatus(_borrower: PromiseOrValue<string>, _num: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        sortedTroves(overrides?: CallOverrides): Promise<string>;
        stabilityPool(overrides?: CallOverrides): Promise<string>;
        totalCollateralSnapshot(overrides?: CallOverrides): Promise<BigNumber>;
        totalStakes(overrides?: CallOverrides): Promise<BigNumber>;
        totalStakesSnapshot(overrides?: CallOverrides): Promise<BigNumber>;
        updateStakeAndTotalStakes(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        updateTroveRewardSnapshots(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
    };
    filters: {
        'ActivePoolAddressChanged(address)'(_activePoolAddress?: null): ActivePoolAddressChangedEventFilter;
        ActivePoolAddressChanged(_activePoolAddress?: null): ActivePoolAddressChangedEventFilter;
        'BaseRateUpdated(uint256)'(_baseRate?: null): BaseRateUpdatedEventFilter;
        BaseRateUpdated(_baseRate?: null): BaseRateUpdatedEventFilter;
        'BorrowerOperationsAddressChanged(address)'(_newBorrowerOperationsAddress?: null): BorrowerOperationsAddressChangedEventFilter;
        BorrowerOperationsAddressChanged(_newBorrowerOperationsAddress?: null): BorrowerOperationsAddressChangedEventFilter;
        'CollSurplusPoolAddressChanged(address)'(_collSurplusPoolAddress?: null): CollSurplusPoolAddressChangedEventFilter;
        CollSurplusPoolAddressChanged(_collSurplusPoolAddress?: null): CollSurplusPoolAddressChangedEventFilter;
        'DefaultPoolAddressChanged(address)'(_defaultPoolAddress?: null): DefaultPoolAddressChangedEventFilter;
        DefaultPoolAddressChanged(_defaultPoolAddress?: null): DefaultPoolAddressChangedEventFilter;
        'GasPoolAddressChanged(address)'(_gasPoolAddress?: null): GasPoolAddressChangedEventFilter;
        GasPoolAddressChanged(_gasPoolAddress?: null): GasPoolAddressChangedEventFilter;
        'LQTYStakingAddressChanged(address)'(_lqtyStakingAddress?: null): LQTYStakingAddressChangedEventFilter;
        LQTYStakingAddressChanged(_lqtyStakingAddress?: null): LQTYStakingAddressChangedEventFilter;
        'LQTYTokenAddressChanged(address)'(_lqtyTokenAddress?: null): LQTYTokenAddressChangedEventFilter;
        LQTYTokenAddressChanged(_lqtyTokenAddress?: null): LQTYTokenAddressChangedEventFilter;
        'LTermsUpdated(uint256,uint256)'(_L_ETH?: null, _L_LUSDDebt?: null): LTermsUpdatedEventFilter;
        LTermsUpdated(_L_ETH?: null, _L_LUSDDebt?: null): LTermsUpdatedEventFilter;
        'LUSDTokenAddressChanged(address)'(_newLUSDTokenAddress?: null): LUSDTokenAddressChangedEventFilter;
        LUSDTokenAddressChanged(_newLUSDTokenAddress?: null): LUSDTokenAddressChangedEventFilter;
        'LastFeeOpTimeUpdated(uint256)'(_lastFeeOpTime?: null): LastFeeOpTimeUpdatedEventFilter;
        LastFeeOpTimeUpdated(_lastFeeOpTime?: null): LastFeeOpTimeUpdatedEventFilter;
        'Liquidation(uint256,uint256,uint256,uint256)'(_liquidatedDebt?: null, _liquidatedColl?: null, _collGasCompensation?: null, _LUSDGasCompensation?: null): LiquidationEventFilter;
        Liquidation(_liquidatedDebt?: null, _liquidatedColl?: null, _collGasCompensation?: null, _LUSDGasCompensation?: null): LiquidationEventFilter;
        'OwnershipTransferred(address,address)'(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
        OwnershipTransferred(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
        'PriceFeedAddressChanged(address)'(_newPriceFeedAddress?: null): PriceFeedAddressChangedEventFilter;
        PriceFeedAddressChanged(_newPriceFeedAddress?: null): PriceFeedAddressChangedEventFilter;
        'Redemption(uint256,uint256,uint256,uint256)'(_attemptedLUSDAmount?: null, _actualLUSDAmount?: null, _ETHSent?: null, _ETHFee?: null): RedemptionEventFilter;
        Redemption(_attemptedLUSDAmount?: null, _actualLUSDAmount?: null, _ETHSent?: null, _ETHFee?: null): RedemptionEventFilter;
        'SortedTrovesAddressChanged(address)'(_sortedTrovesAddress?: null): SortedTrovesAddressChangedEventFilter;
        SortedTrovesAddressChanged(_sortedTrovesAddress?: null): SortedTrovesAddressChangedEventFilter;
        'StabilityPoolAddressChanged(address)'(_stabilityPoolAddress?: null): StabilityPoolAddressChangedEventFilter;
        StabilityPoolAddressChanged(_stabilityPoolAddress?: null): StabilityPoolAddressChangedEventFilter;
        'SystemSnapshotsUpdated(uint256,uint256)'(_totalStakesSnapshot?: null, _totalCollateralSnapshot?: null): SystemSnapshotsUpdatedEventFilter;
        SystemSnapshotsUpdated(_totalStakesSnapshot?: null, _totalCollateralSnapshot?: null): SystemSnapshotsUpdatedEventFilter;
        'TotalStakesUpdated(uint256)'(_newTotalStakes?: null): TotalStakesUpdatedEventFilter;
        TotalStakesUpdated(_newTotalStakes?: null): TotalStakesUpdatedEventFilter;
        'TroveIndexUpdated(address,uint256)'(_borrower?: null, _newIndex?: null): TroveIndexUpdatedEventFilter;
        TroveIndexUpdated(_borrower?: null, _newIndex?: null): TroveIndexUpdatedEventFilter;
        'TroveLiquidated(address,uint256,uint256,uint8)'(_borrower?: PromiseOrValue<string> | null, _debt?: null, _coll?: null, _operation?: null): TroveLiquidatedEventFilter;
        TroveLiquidated(_borrower?: PromiseOrValue<string> | null, _debt?: null, _coll?: null, _operation?: null): TroveLiquidatedEventFilter;
        'TroveSnapshotsUpdated(uint256,uint256)'(_L_ETH?: null, _L_LUSDDebt?: null): TroveSnapshotsUpdatedEventFilter;
        TroveSnapshotsUpdated(_L_ETH?: null, _L_LUSDDebt?: null): TroveSnapshotsUpdatedEventFilter;
        'TroveUpdated(address,uint256,uint256,uint256,uint8)'(_borrower?: PromiseOrValue<string> | null, _debt?: null, _coll?: null, _stake?: null, _operation?: null): TroveUpdatedEventFilter;
        TroveUpdated(_borrower?: PromiseOrValue<string> | null, _debt?: null, _coll?: null, _stake?: null, _operation?: null): TroveUpdatedEventFilter;
    };
    estimateGas: {
        BETA(overrides?: CallOverrides): Promise<BigNumber>;
        BOOTSTRAP_PERIOD(overrides?: CallOverrides): Promise<BigNumber>;
        BORROWING_FEE_FLOOR(overrides?: CallOverrides): Promise<BigNumber>;
        CCR(overrides?: CallOverrides): Promise<BigNumber>;
        DECIMAL_PRECISION(overrides?: CallOverrides): Promise<BigNumber>;
        LUSD_GAS_COMPENSATION(overrides?: CallOverrides): Promise<BigNumber>;
        L_ETH(overrides?: CallOverrides): Promise<BigNumber>;
        L_LUSDDebt(overrides?: CallOverrides): Promise<BigNumber>;
        MAX_BORROWING_FEE(overrides?: CallOverrides): Promise<BigNumber>;
        MCR(overrides?: CallOverrides): Promise<BigNumber>;
        MINUTE_DECAY_FACTOR(overrides?: CallOverrides): Promise<BigNumber>;
        MIN_NET_DEBT(overrides?: CallOverrides): Promise<BigNumber>;
        NAME(overrides?: CallOverrides): Promise<BigNumber>;
        PERCENT_DIVISOR(overrides?: CallOverrides): Promise<BigNumber>;
        REDEMPTION_FEE_FLOOR(overrides?: CallOverrides): Promise<BigNumber>;
        SECONDS_IN_ONE_MINUTE(overrides?: CallOverrides): Promise<BigNumber>;
        TroveOwners(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        Troves(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        _100pct(overrides?: CallOverrides): Promise<BigNumber>;
        activePool(overrides?: CallOverrides): Promise<BigNumber>;
        addTroveOwnerToArray(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        applyPendingRewards(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        baseRate(overrides?: CallOverrides): Promise<BigNumber>;
        batchLiquidateTroves(_troveArray: PromiseOrValue<string>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        borrowerOperationsAddress(overrides?: CallOverrides): Promise<BigNumber>;
        checkRecoveryMode(_price: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        closeTrove(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        decayBaseRateFromBorrowing(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        decreaseTroveColl(_borrower: PromiseOrValue<string>, _collDecrease: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        decreaseTroveDebt(_borrower: PromiseOrValue<string>, _debtDecrease: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        defaultPool(overrides?: CallOverrides): Promise<BigNumber>;
        getBorrowingFee(_LUSDDebt: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getBorrowingFeeWithDecay(_LUSDDebt: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getBorrowingRate(overrides?: CallOverrides): Promise<BigNumber>;
        getBorrowingRateWithDecay(overrides?: CallOverrides): Promise<BigNumber>;
        getCurrentICR(_borrower: PromiseOrValue<string>, _price: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getEntireDebtAndColl(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getEntireSystemColl(overrides?: CallOverrides): Promise<BigNumber>;
        getEntireSystemDebt(overrides?: CallOverrides): Promise<BigNumber>;
        getNominalICR(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getPendingETHReward(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getPendingLUSDDebtReward(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getRedemptionFeeWithDecay(_ETHDrawn: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getRedemptionRate(overrides?: CallOverrides): Promise<BigNumber>;
        getRedemptionRateWithDecay(overrides?: CallOverrides): Promise<BigNumber>;
        getTCR(_price: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getTroveColl(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getTroveDebt(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getTroveFromTroveOwnersArray(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getTroveOwnersCount(overrides?: CallOverrides): Promise<BigNumber>;
        getTroveStake(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getTroveStatus(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        hasPendingRewards(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        increaseTroveColl(_borrower: PromiseOrValue<string>, _collIncrease: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        increaseTroveDebt(_borrower: PromiseOrValue<string>, _debtIncrease: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        isOwner(overrides?: CallOverrides): Promise<BigNumber>;
        lastETHError_Redistribution(overrides?: CallOverrides): Promise<BigNumber>;
        lastFeeOperationTime(overrides?: CallOverrides): Promise<BigNumber>;
        lastLUSDDebtError_Redistribution(overrides?: CallOverrides): Promise<BigNumber>;
        liquidate(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        liquidateTroves(_n: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        lqtyStaking(overrides?: CallOverrides): Promise<BigNumber>;
        lqtyToken(overrides?: CallOverrides): Promise<BigNumber>;
        lusdToken(overrides?: CallOverrides): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<BigNumber>;
        priceFeed(overrides?: CallOverrides): Promise<BigNumber>;
        redeemCollateral(_LUSDamount: PromiseOrValue<BigNumberish>, _firstRedemptionHint: PromiseOrValue<string>, _upperPartialRedemptionHint: PromiseOrValue<string>, _lowerPartialRedemptionHint: PromiseOrValue<string>, _partialRedemptionHintNICR: PromiseOrValue<BigNumberish>, _maxIterations: PromiseOrValue<BigNumberish>, _maxFeePercentage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        removeStake(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        rewardSnapshots(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        setAddresses(_borrowerOperationsAddress: PromiseOrValue<string>, _activePoolAddress: PromiseOrValue<string>, _defaultPoolAddress: PromiseOrValue<string>, _stabilityPoolAddress: PromiseOrValue<string>, _gasPoolAddress: PromiseOrValue<string>, _collSurplusPoolAddress: PromiseOrValue<string>, _priceFeedAddress: PromiseOrValue<string>, _lusdTokenAddress: PromiseOrValue<string>, _sortedTrovesAddress: PromiseOrValue<string>, _lqtyTokenAddress: PromiseOrValue<string>, _lqtyStakingAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setTroveStatus(_borrower: PromiseOrValue<string>, _num: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        sortedTroves(overrides?: CallOverrides): Promise<BigNumber>;
        stabilityPool(overrides?: CallOverrides): Promise<BigNumber>;
        totalCollateralSnapshot(overrides?: CallOverrides): Promise<BigNumber>;
        totalStakes(overrides?: CallOverrides): Promise<BigNumber>;
        totalStakesSnapshot(overrides?: CallOverrides): Promise<BigNumber>;
        updateStakeAndTotalStakes(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        updateTroveRewardSnapshots(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
    };
    populateTransaction: {
        BETA(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        BOOTSTRAP_PERIOD(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        BORROWING_FEE_FLOOR(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        CCR(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        DECIMAL_PRECISION(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        LUSD_GAS_COMPENSATION(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        L_ETH(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        L_LUSDDebt(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        MAX_BORROWING_FEE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        MCR(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        MINUTE_DECAY_FACTOR(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        MIN_NET_DEBT(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        NAME(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        PERCENT_DIVISOR(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        REDEMPTION_FEE_FLOOR(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        SECONDS_IN_ONE_MINUTE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        TroveOwners(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        Troves(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        _100pct(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        activePool(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        addTroveOwnerToArray(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        applyPendingRewards(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        baseRate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        batchLiquidateTroves(_troveArray: PromiseOrValue<string>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        borrowerOperationsAddress(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        checkRecoveryMode(_price: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        closeTrove(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        decayBaseRateFromBorrowing(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        decreaseTroveColl(_borrower: PromiseOrValue<string>, _collDecrease: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        decreaseTroveDebt(_borrower: PromiseOrValue<string>, _debtDecrease: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        defaultPool(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getBorrowingFee(_LUSDDebt: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getBorrowingFeeWithDecay(_LUSDDebt: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getBorrowingRate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getBorrowingRateWithDecay(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getCurrentICR(_borrower: PromiseOrValue<string>, _price: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getEntireDebtAndColl(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getEntireSystemColl(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getEntireSystemDebt(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getNominalICR(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getPendingETHReward(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getPendingLUSDDebtReward(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getRedemptionFeeWithDecay(_ETHDrawn: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getRedemptionRate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getRedemptionRateWithDecay(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getTCR(_price: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getTroveColl(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getTroveDebt(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getTroveFromTroveOwnersArray(_index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getTroveOwnersCount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getTroveStake(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getTroveStatus(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        hasPendingRewards(_borrower: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        increaseTroveColl(_borrower: PromiseOrValue<string>, _collIncrease: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        increaseTroveDebt(_borrower: PromiseOrValue<string>, _debtIncrease: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        isOwner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lastETHError_Redistribution(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lastFeeOperationTime(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lastLUSDDebtError_Redistribution(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        liquidate(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        liquidateTroves(_n: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        lqtyStaking(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lqtyToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        lusdToken(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        priceFeed(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        redeemCollateral(_LUSDamount: PromiseOrValue<BigNumberish>, _firstRedemptionHint: PromiseOrValue<string>, _upperPartialRedemptionHint: PromiseOrValue<string>, _lowerPartialRedemptionHint: PromiseOrValue<string>, _partialRedemptionHintNICR: PromiseOrValue<BigNumberish>, _maxIterations: PromiseOrValue<BigNumberish>, _maxFeePercentage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        removeStake(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        rewardSnapshots(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        setAddresses(_borrowerOperationsAddress: PromiseOrValue<string>, _activePoolAddress: PromiseOrValue<string>, _defaultPoolAddress: PromiseOrValue<string>, _stabilityPoolAddress: PromiseOrValue<string>, _gasPoolAddress: PromiseOrValue<string>, _collSurplusPoolAddress: PromiseOrValue<string>, _priceFeedAddress: PromiseOrValue<string>, _lusdTokenAddress: PromiseOrValue<string>, _sortedTrovesAddress: PromiseOrValue<string>, _lqtyTokenAddress: PromiseOrValue<string>, _lqtyStakingAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setTroveStatus(_borrower: PromiseOrValue<string>, _num: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        sortedTroves(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        stabilityPool(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        totalCollateralSnapshot(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        totalStakes(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        totalStakesSnapshot(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        updateStakeAndTotalStakes(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        updateTroveRewardSnapshots(_borrower: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
    };
}
