import { Signer } from "ethers";
import type { Provider } from "@ethersproject/providers";
import type { ICreditManagerV2, ICreditManagerV2Interface } from "../../../../../../../src/sector-contracts/src/interfaces/gearbox/ICreditManagerV2.sol/ICreditManagerV2";
export declare class ICreditManagerV2__factory {
    static readonly abi: readonly [{
        readonly inputs: readonly [];
        readonly name: "AdaptersOrCreditFacadeOnlyException";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "AllowanceFailedException";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "CreditConfiguratorOnlyException";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "CreditFacadeOnlyException";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "HasNoOpenedAccountException";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "NotEnoughCollateralException";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ReentrancyLockException";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "TargetContractNotAllowedException";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "TokenAlreadyAddedException";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "TokenNotAllowedException";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "TooManyEnabledTokensException";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "TooManyTokensException";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ZeroAddressOrUserAlreadyHasAccountException";
        readonly type: "error";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "borrower";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "target";
            readonly type: "address";
        }];
        readonly name: "ExecuteOrder";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "newConfigurator";
            readonly type: "address";
        }];
        readonly name: "NewConfigurator";
        readonly type: "event";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "adapter";
            readonly type: "address";
        }];
        readonly name: "adapterToContract";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "payer";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "creditAccount";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "addCollateral";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "borrower";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "targetContract";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "approveCreditAccount";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "totalValue";
            readonly type: "uint256";
        }, {
            readonly internalType: "enum ClosureAction";
            readonly name: "closureActionType";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint256";
            readonly name: "borrowedAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "borrowedAmountWithInterest";
            readonly type: "uint256";
        }];
        readonly name: "calcClosePayments";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "amountToPool";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "remainingFunds";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "profit";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "loss";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "creditAccount";
            readonly type: "address";
        }];
        readonly name: "calcCreditAccountAccruedInterest";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "borrowedAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "borrowedAmountWithInterest";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "borrowedAmountWithInterestAndFees";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly name: "canLiquidateWhilePaused";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "creditAccount";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }];
        readonly name: "checkAndEnableToken";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "creditAccount";
            readonly type: "address";
        }];
        readonly name: "checkAndOptimizeEnabledTokens";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "caller";
            readonly type: "address";
        }, {
            readonly internalType: "bool";
            readonly name: "state";
            readonly type: "bool";
        }];
        readonly name: "checkEmergencyPausable";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "borrower";
            readonly type: "address";
        }, {
            readonly internalType: "enum ClosureAction";
            readonly name: "closureActionType";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint256";
            readonly name: "totalValue";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "payer";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "to";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "skipTokenMask";
            readonly type: "uint256";
        }, {
            readonly internalType: "bool";
            readonly name: "convertWETH";
            readonly type: "bool";
        }];
        readonly name: "closeCreditAccount";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "remainingFunds";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "id";
            readonly type: "uint256";
        }];
        readonly name: "collateralTokens";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }, {
            readonly internalType: "uint16";
            readonly name: "liquidationThreshold";
            readonly type: "uint16";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "tokenMask";
            readonly type: "uint256";
        }];
        readonly name: "collateralTokensByMask";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }, {
            readonly internalType: "uint16";
            readonly name: "liquidationThreshold";
            readonly type: "uint16";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "collateralTokensCount";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "targetContract";
            readonly type: "address";
        }];
        readonly name: "contractToAdapter";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "borrower";
            readonly type: "address";
        }];
        readonly name: "creditAccounts";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "creditConfigurator";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "creditFacade";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "creditAccount";
            readonly type: "address";
        }];
        readonly name: "cumulativeDropAtFastCheckRAY";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "creditAccount";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }];
        readonly name: "disableToken";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "creditAccount";
            readonly type: "address";
        }];
        readonly name: "enabledTokensMap";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "borrower";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "targetContract";
            readonly type: "address";
        }, {
            readonly internalType: "bytes";
            readonly name: "data";
            readonly type: "bytes";
        }];
        readonly name: "executeOrder";
        readonly outputs: readonly [{
            readonly internalType: "bytes";
            readonly name: "";
            readonly type: "bytes";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "creditAccount";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "tokenIn";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "tokenOut";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "balanceInBefore";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "balanceOutBefore";
            readonly type: "uint256";
        }];
        readonly name: "fastCollateralCheck";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "fees";
        readonly outputs: readonly [{
            readonly internalType: "uint16";
            readonly name: "feeInterest";
            readonly type: "uint16";
        }, {
            readonly internalType: "uint16";
            readonly name: "feeLiquidation";
            readonly type: "uint16";
        }, {
            readonly internalType: "uint16";
            readonly name: "liquidationDiscount";
            readonly type: "uint16";
        }, {
            readonly internalType: "uint16";
            readonly name: "feeLiquidationExpired";
            readonly type: "uint16";
        }, {
            readonly internalType: "uint16";
            readonly name: "liquidationDiscountExpired";
            readonly type: "uint16";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "forbiddenTokenMask";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "creditAccount";
            readonly type: "address";
        }];
        readonly name: "fullCollateralCheck";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "borrower";
            readonly type: "address";
        }];
        readonly name: "getCreditAccountOrRevert";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }];
        readonly name: "liquidationThresholds";
        readonly outputs: readonly [{
            readonly internalType: "uint16";
            readonly name: "";
            readonly type: "uint16";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "creditAccount";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }, {
            readonly internalType: "bool";
            readonly name: "increase";
            readonly type: "bool";
        }];
        readonly name: "manageDebt";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "newBorrowedAmount";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "maxAllowedEnabledTokenLength";
        readonly outputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "";
            readonly type: "uint8";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "borrowedAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "onBehalfOf";
            readonly type: "address";
        }];
        readonly name: "openCreditAccount";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "pool";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "poolService";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "priceOracle";
        readonly outputs: readonly [{
            readonly internalType: "contract IPriceOracleV2";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "token";
            readonly type: "address";
        }];
        readonly name: "tokenMasksMap";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "from";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "to";
            readonly type: "address";
        }];
        readonly name: "transferAccountOwnership";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "underlying";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "universalAdapter";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "version";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "wethAddress";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }];
    static createInterface(): ICreditManagerV2Interface;
    static connect(address: string, signerOrProvider: Signer | Provider): ICreditManagerV2;
}
