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 } from "./common"; export interface LoanV3AbiInterface extends utils.Interface { functions: { "acceptBorrower()": FunctionFragment; "acceptLender()": FunctionFragment; "acceptNewTerms(address,uint256,bytes[],uint256)": FunctionFragment; "borrower()": FunctionFragment; "claimFunds(uint256,address)": FunctionFragment; "claimableFunds()": FunctionFragment; "closeLoan(uint256)": FunctionFragment; "collateral()": FunctionFragment; "collateralAsset()": FunctionFragment; "collateralRequired()": FunctionFragment; "delegateFee()": FunctionFragment; "drawableFunds()": FunctionFragment; "drawdownFunds(uint256,address)": FunctionFragment; "earlyFeeRate()": FunctionFragment; "endingPrincipal()": FunctionFragment; "excessCollateral()": FunctionFragment; "factory()": FunctionFragment; "fundLoan(address,uint256)": FunctionFragment; "fundsAsset()": FunctionFragment; "getAdditionalCollateralRequiredFor(uint256)": FunctionFragment; "getEarlyPaymentBreakdown()": FunctionFragment; "getNextPaymentBreakdown()": FunctionFragment; "getRefinanceInterest(uint256)": FunctionFragment; "gracePeriod()": FunctionFragment; "implementation()": FunctionFragment; "interestRate()": FunctionFragment; "isProtocolPaused()": FunctionFragment; "lateFeeRate()": FunctionFragment; "lateInterestPremium()": FunctionFragment; "lender()": FunctionFragment; "makePayment(uint256)": FunctionFragment; "migrate(address,bytes)": FunctionFragment; "nextPaymentDueDate()": FunctionFragment; "paymentInterval()": FunctionFragment; "paymentsRemaining()": FunctionFragment; "pendingBorrower()": FunctionFragment; "pendingLender()": FunctionFragment; "postCollateral(uint256)": FunctionFragment; "principal()": FunctionFragment; "principalRequested()": FunctionFragment; "proposeNewTerms(address,uint256,bytes[])": FunctionFragment; "refinanceCommitment()": FunctionFragment; "refinanceInterest()": FunctionFragment; "rejectNewTerms(address,uint256,bytes[])": FunctionFragment; "removeCollateral(uint256,address)": FunctionFragment; "repossess(address)": FunctionFragment; "returnFunds(uint256)": FunctionFragment; "setImplementation(address)": FunctionFragment; "setPendingBorrower(address)": FunctionFragment; "setPendingLender(address)": FunctionFragment; "skim(address,address)": FunctionFragment; "superFactory()": FunctionFragment; "treasuryFee()": FunctionFragment; "upgrade(uint256,bytes)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "acceptBorrower" | "acceptLender" | "acceptNewTerms" | "borrower" | "claimFunds" | "claimableFunds" | "closeLoan" | "collateral" | "collateralAsset" | "collateralRequired" | "delegateFee" | "drawableFunds" | "drawdownFunds" | "earlyFeeRate" | "endingPrincipal" | "excessCollateral" | "factory" | "fundLoan" | "fundsAsset" | "getAdditionalCollateralRequiredFor" | "getEarlyPaymentBreakdown" | "getNextPaymentBreakdown" | "getRefinanceInterest" | "gracePeriod" | "implementation" | "interestRate" | "isProtocolPaused" | "lateFeeRate" | "lateInterestPremium" | "lender" | "makePayment" | "migrate" | "nextPaymentDueDate" | "paymentInterval" | "paymentsRemaining" | "pendingBorrower" | "pendingLender" | "postCollateral" | "principal" | "principalRequested" | "proposeNewTerms" | "refinanceCommitment" | "refinanceInterest" | "rejectNewTerms" | "removeCollateral" | "repossess" | "returnFunds" | "setImplementation" | "setPendingBorrower" | "setPendingLender" | "skim" | "superFactory" | "treasuryFee" | "upgrade"): FunctionFragment; encodeFunctionData(functionFragment: "acceptBorrower", values?: undefined): string; encodeFunctionData(functionFragment: "acceptLender", values?: undefined): string; encodeFunctionData(functionFragment: "acceptNewTerms", values: [string, BigNumberish, BytesLike[], BigNumberish]): string; encodeFunctionData(functionFragment: "borrower", values?: undefined): string; encodeFunctionData(functionFragment: "claimFunds", values: [BigNumberish, string]): string; encodeFunctionData(functionFragment: "claimableFunds", values?: undefined): string; encodeFunctionData(functionFragment: "closeLoan", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "collateral", values?: undefined): string; encodeFunctionData(functionFragment: "collateralAsset", values?: undefined): string; encodeFunctionData(functionFragment: "collateralRequired", values?: undefined): string; encodeFunctionData(functionFragment: "delegateFee", values?: undefined): string; encodeFunctionData(functionFragment: "drawableFunds", values?: undefined): string; encodeFunctionData(functionFragment: "drawdownFunds", values: [BigNumberish, string]): string; encodeFunctionData(functionFragment: "earlyFeeRate", values?: undefined): string; encodeFunctionData(functionFragment: "endingPrincipal", values?: undefined): string; encodeFunctionData(functionFragment: "excessCollateral", values?: undefined): string; encodeFunctionData(functionFragment: "factory", values?: undefined): string; encodeFunctionData(functionFragment: "fundLoan", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "fundsAsset", values?: undefined): string; encodeFunctionData(functionFragment: "getAdditionalCollateralRequiredFor", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getEarlyPaymentBreakdown", values?: undefined): string; encodeFunctionData(functionFragment: "getNextPaymentBreakdown", values?: undefined): string; encodeFunctionData(functionFragment: "getRefinanceInterest", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "gracePeriod", values?: undefined): string; encodeFunctionData(functionFragment: "implementation", values?: undefined): string; encodeFunctionData(functionFragment: "interestRate", values?: undefined): string; encodeFunctionData(functionFragment: "isProtocolPaused", values?: undefined): string; encodeFunctionData(functionFragment: "lateFeeRate", values?: undefined): string; encodeFunctionData(functionFragment: "lateInterestPremium", values?: undefined): string; encodeFunctionData(functionFragment: "lender", values?: undefined): string; encodeFunctionData(functionFragment: "makePayment", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "migrate", values: [string, BytesLike]): string; encodeFunctionData(functionFragment: "nextPaymentDueDate", values?: undefined): string; encodeFunctionData(functionFragment: "paymentInterval", values?: undefined): string; encodeFunctionData(functionFragment: "paymentsRemaining", values?: undefined): string; encodeFunctionData(functionFragment: "pendingBorrower", values?: undefined): string; encodeFunctionData(functionFragment: "pendingLender", values?: undefined): string; encodeFunctionData(functionFragment: "postCollateral", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "principal", values?: undefined): string; encodeFunctionData(functionFragment: "principalRequested", values?: undefined): string; encodeFunctionData(functionFragment: "proposeNewTerms", values: [string, BigNumberish, BytesLike[]]): string; encodeFunctionData(functionFragment: "refinanceCommitment", values?: undefined): string; encodeFunctionData(functionFragment: "refinanceInterest", values?: undefined): string; encodeFunctionData(functionFragment: "rejectNewTerms", values: [string, BigNumberish, BytesLike[]]): string; encodeFunctionData(functionFragment: "removeCollateral", values: [BigNumberish, string]): string; encodeFunctionData(functionFragment: "repossess", values: [string]): string; encodeFunctionData(functionFragment: "returnFunds", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "setImplementation", values: [string]): string; encodeFunctionData(functionFragment: "setPendingBorrower", values: [string]): string; encodeFunctionData(functionFragment: "setPendingLender", values: [string]): string; encodeFunctionData(functionFragment: "skim", values: [string, string]): string; encodeFunctionData(functionFragment: "superFactory", values?: undefined): string; encodeFunctionData(functionFragment: "treasuryFee", values?: undefined): string; encodeFunctionData(functionFragment: "upgrade", values: [BigNumberish, BytesLike]): string; decodeFunctionResult(functionFragment: "acceptBorrower", data: BytesLike): Result; decodeFunctionResult(functionFragment: "acceptLender", data: BytesLike): Result; decodeFunctionResult(functionFragment: "acceptNewTerms", data: BytesLike): Result; decodeFunctionResult(functionFragment: "borrower", data: BytesLike): Result; decodeFunctionResult(functionFragment: "claimFunds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "claimableFunds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "closeLoan", data: BytesLike): Result; decodeFunctionResult(functionFragment: "collateral", data: BytesLike): Result; decodeFunctionResult(functionFragment: "collateralAsset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "collateralRequired", data: BytesLike): Result; decodeFunctionResult(functionFragment: "delegateFee", data: BytesLike): Result; decodeFunctionResult(functionFragment: "drawableFunds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "drawdownFunds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "earlyFeeRate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "endingPrincipal", data: BytesLike): Result; decodeFunctionResult(functionFragment: "excessCollateral", data: BytesLike): Result; decodeFunctionResult(functionFragment: "factory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "fundLoan", data: BytesLike): Result; decodeFunctionResult(functionFragment: "fundsAsset", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getAdditionalCollateralRequiredFor", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getEarlyPaymentBreakdown", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getNextPaymentBreakdown", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRefinanceInterest", data: BytesLike): Result; decodeFunctionResult(functionFragment: "gracePeriod", data: BytesLike): Result; decodeFunctionResult(functionFragment: "implementation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "interestRate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isProtocolPaused", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lateFeeRate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lateInterestPremium", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lender", data: BytesLike): Result; decodeFunctionResult(functionFragment: "makePayment", data: BytesLike): Result; decodeFunctionResult(functionFragment: "migrate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nextPaymentDueDate", data: BytesLike): Result; decodeFunctionResult(functionFragment: "paymentInterval", data: BytesLike): Result; decodeFunctionResult(functionFragment: "paymentsRemaining", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pendingBorrower", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pendingLender", data: BytesLike): Result; decodeFunctionResult(functionFragment: "postCollateral", data: BytesLike): Result; decodeFunctionResult(functionFragment: "principal", data: BytesLike): Result; decodeFunctionResult(functionFragment: "principalRequested", data: BytesLike): Result; decodeFunctionResult(functionFragment: "proposeNewTerms", data: BytesLike): Result; decodeFunctionResult(functionFragment: "refinanceCommitment", data: BytesLike): Result; decodeFunctionResult(functionFragment: "refinanceInterest", data: BytesLike): Result; decodeFunctionResult(functionFragment: "rejectNewTerms", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeCollateral", data: BytesLike): Result; decodeFunctionResult(functionFragment: "repossess", data: BytesLike): Result; decodeFunctionResult(functionFragment: "returnFunds", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setImplementation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setPendingBorrower", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setPendingLender", data: BytesLike): Result; decodeFunctionResult(functionFragment: "skim", data: BytesLike): Result; decodeFunctionResult(functionFragment: "superFactory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "treasuryFee", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgrade", data: BytesLike): Result; events: { "BorrowerAccepted(address)": EventFragment; "CollateralPosted(uint256)": EventFragment; "CollateralRemoved(uint256,address)": EventFragment; "EstablishmentFeesSet(uint256,uint256)": EventFragment; "Funded(address,uint256,uint256)": EventFragment; "FundsClaimed(uint256,address)": EventFragment; "FundsDrawnDown(uint256,address)": EventFragment; "FundsRedirected(uint256,address)": EventFragment; "FundsReturned(uint256)": EventFragment; "Initialized(address,address[2],uint256[3],uint256[3],uint256[4])": EventFragment; "LenderAccepted(address)": EventFragment; "LoanClosed(uint256,uint256,uint256,uint256)": EventFragment; "NewTermsAccepted(bytes32,address,uint256,bytes[])": EventFragment; "NewTermsProposed(bytes32,address,uint256,bytes[])": EventFragment; "NewTermsRejected(bytes32,address,uint256,bytes[])": EventFragment; "PaymentMade(uint256,uint256,uint256,uint256)": EventFragment; "PendingBorrowerSet(address)": EventFragment; "PendingLenderSet(address)": EventFragment; "Repossessed(uint256,uint256,address)": EventFragment; "Skimmed(address,uint256,address)": EventFragment; "Upgraded(uint256,bytes)": EventFragment; "CollateralRequiredSet(uint256)": EventFragment; "EarlyFeeRateSet(uint256)": EventFragment; "EndingPrincipalSet(uint256)": EventFragment; "GracePeriodSet(uint256)": EventFragment; "InterestRateSet(uint256)": EventFragment; "LateFeeRateSet(uint256)": EventFragment; "LateInterestPremiumSet(uint256)": EventFragment; "PaymentIntervalSet(uint256)": EventFragment; "PaymentsRemainingSet(uint256)": EventFragment; "PrincipalIncreased(uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "BorrowerAccepted"): EventFragment; getEvent(nameOrSignatureOrTopic: "CollateralPosted"): EventFragment; getEvent(nameOrSignatureOrTopic: "CollateralRemoved"): EventFragment; getEvent(nameOrSignatureOrTopic: "EstablishmentFeesSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "Funded"): EventFragment; getEvent(nameOrSignatureOrTopic: "FundsClaimed"): EventFragment; getEvent(nameOrSignatureOrTopic: "FundsDrawnDown"): EventFragment; getEvent(nameOrSignatureOrTopic: "FundsRedirected"): EventFragment; getEvent(nameOrSignatureOrTopic: "FundsReturned"): EventFragment; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "LenderAccepted"): EventFragment; getEvent(nameOrSignatureOrTopic: "LoanClosed"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewTermsAccepted"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewTermsProposed"): EventFragment; getEvent(nameOrSignatureOrTopic: "NewTermsRejected"): EventFragment; getEvent(nameOrSignatureOrTopic: "PaymentMade"): EventFragment; getEvent(nameOrSignatureOrTopic: "PendingBorrowerSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "PendingLenderSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "Repossessed"): EventFragment; getEvent(nameOrSignatureOrTopic: "Skimmed"): EventFragment; getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment; getEvent(nameOrSignatureOrTopic: "CollateralRequiredSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "EarlyFeeRateSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "EndingPrincipalSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "GracePeriodSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "InterestRateSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "LateFeeRateSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "LateInterestPremiumSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "PaymentIntervalSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "PaymentsRemainingSet"): EventFragment; getEvent(nameOrSignatureOrTopic: "PrincipalIncreased"): EventFragment; } export interface BorrowerAcceptedEventObject { borrower_: string; } export type BorrowerAcceptedEvent = TypedEvent<[ string ], BorrowerAcceptedEventObject>; export type BorrowerAcceptedEventFilter = TypedEventFilter; export interface CollateralPostedEventObject { amount_: BigNumber; } export type CollateralPostedEvent = TypedEvent<[ BigNumber ], CollateralPostedEventObject>; export type CollateralPostedEventFilter = TypedEventFilter; export interface CollateralRemovedEventObject { amount_: BigNumber; destination_: string; } export type CollateralRemovedEvent = TypedEvent<[ BigNumber, string ], CollateralRemovedEventObject>; export type CollateralRemovedEventFilter = TypedEventFilter; export interface EstablishmentFeesSetEventObject { delegateFee_: BigNumber; treasuryFee_: BigNumber; } export type EstablishmentFeesSetEvent = TypedEvent<[ BigNumber, BigNumber ], EstablishmentFeesSetEventObject>; export type EstablishmentFeesSetEventFilter = TypedEventFilter; export interface FundedEventObject { lender_: string; amount_: BigNumber; nextPaymentDueDate_: BigNumber; } export type FundedEvent = TypedEvent<[ string, BigNumber, BigNumber ], FundedEventObject>; export type FundedEventFilter = TypedEventFilter; export interface FundsClaimedEventObject { amount_: BigNumber; destination_: string; } export type FundsClaimedEvent = TypedEvent<[ BigNumber, string ], FundsClaimedEventObject>; export type FundsClaimedEventFilter = TypedEventFilter; export interface FundsDrawnDownEventObject { amount_: BigNumber; destination_: string; } export type FundsDrawnDownEvent = TypedEvent<[ BigNumber, string ], FundsDrawnDownEventObject>; export type FundsDrawnDownEventFilter = TypedEventFilter; export interface FundsRedirectedEventObject { amount_: BigNumber; destination_: string; } export type FundsRedirectedEvent = TypedEvent<[ BigNumber, string ], FundsRedirectedEventObject>; export type FundsRedirectedEventFilter = TypedEventFilter; export interface FundsReturnedEventObject { amount_: BigNumber; } export type FundsReturnedEvent = TypedEvent<[ BigNumber ], FundsReturnedEventObject>; export type FundsReturnedEventFilter = TypedEventFilter; export interface InitializedEventObject { borrower_: string; assets_: [string, string]; termDetails_: [BigNumber, BigNumber, BigNumber]; amounts_: [BigNumber, BigNumber, BigNumber]; rates_: [BigNumber, BigNumber, BigNumber, BigNumber]; } export type InitializedEvent = TypedEvent<[ string, [ string, string ], [ BigNumber, BigNumber, BigNumber ], [ BigNumber, BigNumber, BigNumber ], [ BigNumber, BigNumber, BigNumber, BigNumber ] ], InitializedEventObject>; export type InitializedEventFilter = TypedEventFilter; export interface LenderAcceptedEventObject { lender_: string; } export type LenderAcceptedEvent = TypedEvent<[ string ], LenderAcceptedEventObject>; export type LenderAcceptedEventFilter = TypedEventFilter; export interface LoanClosedEventObject { principalPaid_: BigNumber; interestPaid_: BigNumber; delegateFeePaid_: BigNumber; treasuryFeePaid_: BigNumber; } export type LoanClosedEvent = TypedEvent<[ BigNumber, BigNumber, BigNumber, BigNumber ], LoanClosedEventObject>; export type LoanClosedEventFilter = TypedEventFilter; export interface NewTermsAcceptedEventObject { refinanceCommitment_: string; refinancer_: string; deadline_: BigNumber; calls_: string[]; } export type NewTermsAcceptedEvent = TypedEvent<[ string, string, BigNumber, string[] ], NewTermsAcceptedEventObject>; export type NewTermsAcceptedEventFilter = TypedEventFilter; export interface NewTermsProposedEventObject { refinanceCommitment_: string; refinancer_: string; deadline_: BigNumber; calls_: string[]; } export type NewTermsProposedEvent = TypedEvent<[ string, string, BigNumber, string[] ], NewTermsProposedEventObject>; export type NewTermsProposedEventFilter = TypedEventFilter; export interface NewTermsRejectedEventObject { refinanceCommitment_: string; refinancer_: string; deadline_: BigNumber; calls_: string[]; } export type NewTermsRejectedEvent = TypedEvent<[ string, string, BigNumber, string[] ], NewTermsRejectedEventObject>; export type NewTermsRejectedEventFilter = TypedEventFilter; export interface PaymentMadeEventObject { principalPaid_: BigNumber; interestPaid_: BigNumber; delegateFeePaid_: BigNumber; treasuryFeePaid_: BigNumber; } export type PaymentMadeEvent = TypedEvent<[ BigNumber, BigNumber, BigNumber, BigNumber ], PaymentMadeEventObject>; export type PaymentMadeEventFilter = TypedEventFilter; export interface PendingBorrowerSetEventObject { pendingBorrower_: string; } export type PendingBorrowerSetEvent = TypedEvent<[ string ], PendingBorrowerSetEventObject>; export type PendingBorrowerSetEventFilter = TypedEventFilter; export interface PendingLenderSetEventObject { pendingLender_: string; } export type PendingLenderSetEvent = TypedEvent<[ string ], PendingLenderSetEventObject>; export type PendingLenderSetEventFilter = TypedEventFilter; export interface RepossessedEventObject { collateralRepossessed_: BigNumber; fundsRepossessed_: BigNumber; destination_: string; } export type RepossessedEvent = TypedEvent<[ BigNumber, BigNumber, string ], RepossessedEventObject>; export type RepossessedEventFilter = TypedEventFilter; export interface SkimmedEventObject { token_: string; amount_: BigNumber; destination_: string; } export type SkimmedEvent = TypedEvent<[ string, BigNumber, string ], SkimmedEventObject>; export type SkimmedEventFilter = TypedEventFilter; export interface UpgradedEventObject { toVersion_: BigNumber; arguments_: string; } export type UpgradedEvent = TypedEvent<[ BigNumber, string ], UpgradedEventObject>; export type UpgradedEventFilter = TypedEventFilter; export interface CollateralRequiredSetEventObject { collateralRequired_: BigNumber; } export type CollateralRequiredSetEvent = TypedEvent<[ BigNumber ], CollateralRequiredSetEventObject>; export type CollateralRequiredSetEventFilter = TypedEventFilter; export interface EarlyFeeRateSetEventObject { earlyFeeRate_: BigNumber; } export type EarlyFeeRateSetEvent = TypedEvent<[ BigNumber ], EarlyFeeRateSetEventObject>; export type EarlyFeeRateSetEventFilter = TypedEventFilter; export interface EndingPrincipalSetEventObject { endingPrincipal_: BigNumber; } export type EndingPrincipalSetEvent = TypedEvent<[ BigNumber ], EndingPrincipalSetEventObject>; export type EndingPrincipalSetEventFilter = TypedEventFilter; export interface GracePeriodSetEventObject { gracePeriod_: BigNumber; } export type GracePeriodSetEvent = TypedEvent<[ BigNumber ], GracePeriodSetEventObject>; export type GracePeriodSetEventFilter = TypedEventFilter; export interface InterestRateSetEventObject { interestRate_: BigNumber; } export type InterestRateSetEvent = TypedEvent<[ BigNumber ], InterestRateSetEventObject>; export type InterestRateSetEventFilter = TypedEventFilter; export interface LateFeeRateSetEventObject { lateFeeRate_: BigNumber; } export type LateFeeRateSetEvent = TypedEvent<[ BigNumber ], LateFeeRateSetEventObject>; export type LateFeeRateSetEventFilter = TypedEventFilter; export interface LateInterestPremiumSetEventObject { lateInterestPremium_: BigNumber; } export type LateInterestPremiumSetEvent = TypedEvent<[ BigNumber ], LateInterestPremiumSetEventObject>; export type LateInterestPremiumSetEventFilter = TypedEventFilter; export interface PaymentIntervalSetEventObject { paymentInterval_: BigNumber; } export type PaymentIntervalSetEvent = TypedEvent<[ BigNumber ], PaymentIntervalSetEventObject>; export type PaymentIntervalSetEventFilter = TypedEventFilter; export interface PaymentsRemainingSetEventObject { paymentsRemaining_: BigNumber; } export type PaymentsRemainingSetEvent = TypedEvent<[ BigNumber ], PaymentsRemainingSetEventObject>; export type PaymentsRemainingSetEventFilter = TypedEventFilter; export interface PrincipalIncreasedEventObject { increasedBy_: BigNumber; } export type PrincipalIncreasedEvent = TypedEvent<[ BigNumber ], PrincipalIncreasedEventObject>; export type PrincipalIncreasedEventFilter = TypedEventFilter; export interface LoanV3Abi extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: LoanV3AbiInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { acceptBorrower(overrides?: Overrides & { from?: string; }): Promise; acceptLender(overrides?: Overrides & { from?: string; }): Promise; acceptNewTerms(refinancer_: string, deadline_: BigNumberish, calls_: BytesLike[], amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; borrower(overrides?: CallOverrides): Promise<[string] & { borrower_: string; }>; claimFunds(amount_: BigNumberish, destination_: string, overrides?: Overrides & { from?: string; }): Promise; claimableFunds(overrides?: CallOverrides): Promise<[BigNumber] & { claimableFunds_: BigNumber; }>; closeLoan(amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; collateral(overrides?: CallOverrides): Promise<[BigNumber] & { collateral_: BigNumber; }>; collateralAsset(overrides?: CallOverrides): Promise<[string] & { collateralAsset_: string; }>; collateralRequired(overrides?: CallOverrides): Promise<[BigNumber] & { collateralRequired_: BigNumber; }>; delegateFee(overrides?: CallOverrides): Promise<[BigNumber] & { delegateFee_: BigNumber; }>; drawableFunds(overrides?: CallOverrides): Promise<[BigNumber] & { drawableFunds_: BigNumber; }>; drawdownFunds(amount_: BigNumberish, destination_: string, overrides?: Overrides & { from?: string; }): Promise; earlyFeeRate(overrides?: CallOverrides): Promise<[BigNumber] & { earlyFeeRate_: BigNumber; }>; endingPrincipal(overrides?: CallOverrides): Promise<[BigNumber] & { endingPrincipal_: BigNumber; }>; excessCollateral(overrides?: CallOverrides): Promise<[BigNumber] & { excessCollateral_: BigNumber; }>; factory(overrides?: CallOverrides): Promise<[string] & { factory_: string; }>; fundLoan(lender_: string, amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; fundsAsset(overrides?: CallOverrides): Promise<[string] & { fundsAsset_: string; }>; getAdditionalCollateralRequiredFor(drawdown_: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber] & { collateral_: BigNumber; }>; getEarlyPaymentBreakdown(overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, BigNumber ] & { principal_: BigNumber; interest_: BigNumber; delegateFee_: BigNumber; treasuryFee_: BigNumber; }>; getNextPaymentBreakdown(overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, BigNumber ] & { principal_: BigNumber; interest_: BigNumber; delegateFee_: BigNumber; treasuryFee_: BigNumber; }>; getRefinanceInterest(timestamp_: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber] & { proRataInterest_: BigNumber; }>; gracePeriod(overrides?: CallOverrides): Promise<[BigNumber] & { gracePeriod_: BigNumber; }>; implementation(overrides?: CallOverrides): Promise<[string] & { implementation_: string; }>; interestRate(overrides?: CallOverrides): Promise<[BigNumber] & { interestRate_: BigNumber; }>; isProtocolPaused(overrides?: CallOverrides): Promise<[boolean] & { paused_: boolean; }>; lateFeeRate(overrides?: CallOverrides): Promise<[BigNumber] & { lateFeeRate_: BigNumber; }>; lateInterestPremium(overrides?: CallOverrides): Promise<[BigNumber] & { lateInterestPremium_: BigNumber; }>; lender(overrides?: CallOverrides): Promise<[string] & { lender_: string; }>; makePayment(amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; migrate(migrator_: string, arguments_: BytesLike, overrides?: Overrides & { from?: string; }): Promise; nextPaymentDueDate(overrides?: CallOverrides): Promise<[BigNumber] & { nextPaymentDueDate_: BigNumber; }>; paymentInterval(overrides?: CallOverrides): Promise<[BigNumber] & { paymentInterval_: BigNumber; }>; paymentsRemaining(overrides?: CallOverrides): Promise<[BigNumber] & { paymentsRemaining_: BigNumber; }>; pendingBorrower(overrides?: CallOverrides): Promise<[string] & { pendingBorrower_: string; }>; pendingLender(overrides?: CallOverrides): Promise<[string] & { pendingLender_: string; }>; postCollateral(amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; principal(overrides?: CallOverrides): Promise<[BigNumber] & { principal_: BigNumber; }>; principalRequested(overrides?: CallOverrides): Promise<[BigNumber] & { principalRequested_: BigNumber; }>; proposeNewTerms(refinancer_: string, deadline_: BigNumberish, calls_: BytesLike[], overrides?: Overrides & { from?: string; }): Promise; refinanceCommitment(overrides?: CallOverrides): Promise<[string] & { refinanceCommitment_: string; }>; refinanceInterest(overrides?: CallOverrides): Promise<[BigNumber] & { refinanceInterest_: BigNumber; }>; rejectNewTerms(refinancer_: string, deadline_: BigNumberish, calls_: BytesLike[], overrides?: Overrides & { from?: string; }): Promise; removeCollateral(amount_: BigNumberish, destination_: string, overrides?: Overrides & { from?: string; }): Promise; repossess(destination_: string, overrides?: Overrides & { from?: string; }): Promise; returnFunds(amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setImplementation(newImplementation_: string, overrides?: Overrides & { from?: string; }): Promise; setPendingBorrower(pendingBorrower_: string, overrides?: Overrides & { from?: string; }): Promise; setPendingLender(pendingLender_: string, overrides?: Overrides & { from?: string; }): Promise; skim(token_: string, destination_: string, overrides?: Overrides & { from?: string; }): Promise; superFactory(overrides?: CallOverrides): Promise<[string] & { superFactory_: string; }>; treasuryFee(overrides?: CallOverrides): Promise<[BigNumber] & { treasuryFee_: BigNumber; }>; upgrade(toVersion_: BigNumberish, arguments_: BytesLike, overrides?: Overrides & { from?: string; }): Promise; }; acceptBorrower(overrides?: Overrides & { from?: string; }): Promise; acceptLender(overrides?: Overrides & { from?: string; }): Promise; acceptNewTerms(refinancer_: string, deadline_: BigNumberish, calls_: BytesLike[], amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; borrower(overrides?: CallOverrides): Promise; claimFunds(amount_: BigNumberish, destination_: string, overrides?: Overrides & { from?: string; }): Promise; claimableFunds(overrides?: CallOverrides): Promise; closeLoan(amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; collateral(overrides?: CallOverrides): Promise; collateralAsset(overrides?: CallOverrides): Promise; collateralRequired(overrides?: CallOverrides): Promise; delegateFee(overrides?: CallOverrides): Promise; drawableFunds(overrides?: CallOverrides): Promise; drawdownFunds(amount_: BigNumberish, destination_: string, overrides?: Overrides & { from?: string; }): Promise; earlyFeeRate(overrides?: CallOverrides): Promise; endingPrincipal(overrides?: CallOverrides): Promise; excessCollateral(overrides?: CallOverrides): Promise; factory(overrides?: CallOverrides): Promise; fundLoan(lender_: string, amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; fundsAsset(overrides?: CallOverrides): Promise; getAdditionalCollateralRequiredFor(drawdown_: BigNumberish, overrides?: CallOverrides): Promise; getEarlyPaymentBreakdown(overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, BigNumber ] & { principal_: BigNumber; interest_: BigNumber; delegateFee_: BigNumber; treasuryFee_: BigNumber; }>; getNextPaymentBreakdown(overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, BigNumber ] & { principal_: BigNumber; interest_: BigNumber; delegateFee_: BigNumber; treasuryFee_: BigNumber; }>; getRefinanceInterest(timestamp_: BigNumberish, overrides?: CallOverrides): Promise; gracePeriod(overrides?: CallOverrides): Promise; implementation(overrides?: CallOverrides): Promise; interestRate(overrides?: CallOverrides): Promise; isProtocolPaused(overrides?: CallOverrides): Promise; lateFeeRate(overrides?: CallOverrides): Promise; lateInterestPremium(overrides?: CallOverrides): Promise; lender(overrides?: CallOverrides): Promise; makePayment(amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; migrate(migrator_: string, arguments_: BytesLike, overrides?: Overrides & { from?: string; }): Promise; nextPaymentDueDate(overrides?: CallOverrides): Promise; paymentInterval(overrides?: CallOverrides): Promise; paymentsRemaining(overrides?: CallOverrides): Promise; pendingBorrower(overrides?: CallOverrides): Promise; pendingLender(overrides?: CallOverrides): Promise; postCollateral(amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; principal(overrides?: CallOverrides): Promise; principalRequested(overrides?: CallOverrides): Promise; proposeNewTerms(refinancer_: string, deadline_: BigNumberish, calls_: BytesLike[], overrides?: Overrides & { from?: string; }): Promise; refinanceCommitment(overrides?: CallOverrides): Promise; refinanceInterest(overrides?: CallOverrides): Promise; rejectNewTerms(refinancer_: string, deadline_: BigNumberish, calls_: BytesLike[], overrides?: Overrides & { from?: string; }): Promise; removeCollateral(amount_: BigNumberish, destination_: string, overrides?: Overrides & { from?: string; }): Promise; repossess(destination_: string, overrides?: Overrides & { from?: string; }): Promise; returnFunds(amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setImplementation(newImplementation_: string, overrides?: Overrides & { from?: string; }): Promise; setPendingBorrower(pendingBorrower_: string, overrides?: Overrides & { from?: string; }): Promise; setPendingLender(pendingLender_: string, overrides?: Overrides & { from?: string; }): Promise; skim(token_: string, destination_: string, overrides?: Overrides & { from?: string; }): Promise; superFactory(overrides?: CallOverrides): Promise; treasuryFee(overrides?: CallOverrides): Promise; upgrade(toVersion_: BigNumberish, arguments_: BytesLike, overrides?: Overrides & { from?: string; }): Promise; callStatic: { acceptBorrower(overrides?: CallOverrides): Promise; acceptLender(overrides?: CallOverrides): Promise; acceptNewTerms(refinancer_: string, deadline_: BigNumberish, calls_: BytesLike[], amount_: BigNumberish, overrides?: CallOverrides): Promise; borrower(overrides?: CallOverrides): Promise; claimFunds(amount_: BigNumberish, destination_: string, overrides?: CallOverrides): Promise; claimableFunds(overrides?: CallOverrides): Promise; closeLoan(amount_: BigNumberish, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, BigNumber ] & { principal_: BigNumber; interest_: BigNumber; delegateFee_: BigNumber; treasuryFee_: BigNumber; }>; collateral(overrides?: CallOverrides): Promise; collateralAsset(overrides?: CallOverrides): Promise; collateralRequired(overrides?: CallOverrides): Promise; delegateFee(overrides?: CallOverrides): Promise; drawableFunds(overrides?: CallOverrides): Promise; drawdownFunds(amount_: BigNumberish, destination_: string, overrides?: CallOverrides): Promise; earlyFeeRate(overrides?: CallOverrides): Promise; endingPrincipal(overrides?: CallOverrides): Promise; excessCollateral(overrides?: CallOverrides): Promise; factory(overrides?: CallOverrides): Promise; fundLoan(lender_: string, amount_: BigNumberish, overrides?: CallOverrides): Promise; fundsAsset(overrides?: CallOverrides): Promise; getAdditionalCollateralRequiredFor(drawdown_: BigNumberish, overrides?: CallOverrides): Promise; getEarlyPaymentBreakdown(overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, BigNumber ] & { principal_: BigNumber; interest_: BigNumber; delegateFee_: BigNumber; treasuryFee_: BigNumber; }>; getNextPaymentBreakdown(overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, BigNumber ] & { principal_: BigNumber; interest_: BigNumber; delegateFee_: BigNumber; treasuryFee_: BigNumber; }>; getRefinanceInterest(timestamp_: BigNumberish, overrides?: CallOverrides): Promise; gracePeriod(overrides?: CallOverrides): Promise; implementation(overrides?: CallOverrides): Promise; interestRate(overrides?: CallOverrides): Promise; isProtocolPaused(overrides?: CallOverrides): Promise; lateFeeRate(overrides?: CallOverrides): Promise; lateInterestPremium(overrides?: CallOverrides): Promise; lender(overrides?: CallOverrides): Promise; makePayment(amount_: BigNumberish, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber, BigNumber, BigNumber ] & { principal_: BigNumber; interest_: BigNumber; delegateFee_: BigNumber; treasuryFee_: BigNumber; }>; migrate(migrator_: string, arguments_: BytesLike, overrides?: CallOverrides): Promise; nextPaymentDueDate(overrides?: CallOverrides): Promise; paymentInterval(overrides?: CallOverrides): Promise; paymentsRemaining(overrides?: CallOverrides): Promise; pendingBorrower(overrides?: CallOverrides): Promise; pendingLender(overrides?: CallOverrides): Promise; postCollateral(amount_: BigNumberish, overrides?: CallOverrides): Promise; principal(overrides?: CallOverrides): Promise; principalRequested(overrides?: CallOverrides): Promise; proposeNewTerms(refinancer_: string, deadline_: BigNumberish, calls_: BytesLike[], overrides?: CallOverrides): Promise; refinanceCommitment(overrides?: CallOverrides): Promise; refinanceInterest(overrides?: CallOverrides): Promise; rejectNewTerms(refinancer_: string, deadline_: BigNumberish, calls_: BytesLike[], overrides?: CallOverrides): Promise; removeCollateral(amount_: BigNumberish, destination_: string, overrides?: CallOverrides): Promise; repossess(destination_: string, overrides?: CallOverrides): Promise<[ BigNumber, BigNumber ] & { collateralRepossessed_: BigNumber; fundsRepossessed_: BigNumber; }>; returnFunds(amount_: BigNumberish, overrides?: CallOverrides): Promise; setImplementation(newImplementation_: string, overrides?: CallOverrides): Promise; setPendingBorrower(pendingBorrower_: string, overrides?: CallOverrides): Promise; setPendingLender(pendingLender_: string, overrides?: CallOverrides): Promise; skim(token_: string, destination_: string, overrides?: CallOverrides): Promise; superFactory(overrides?: CallOverrides): Promise; treasuryFee(overrides?: CallOverrides): Promise; upgrade(toVersion_: BigNumberish, arguments_: BytesLike, overrides?: CallOverrides): Promise; }; filters: { "BorrowerAccepted(address)"(borrower_?: string | null): BorrowerAcceptedEventFilter; BorrowerAccepted(borrower_?: string | null): BorrowerAcceptedEventFilter; "CollateralPosted(uint256)"(amount_?: null): CollateralPostedEventFilter; CollateralPosted(amount_?: null): CollateralPostedEventFilter; "CollateralRemoved(uint256,address)"(amount_?: null, destination_?: string | null): CollateralRemovedEventFilter; CollateralRemoved(amount_?: null, destination_?: string | null): CollateralRemovedEventFilter; "EstablishmentFeesSet(uint256,uint256)"(delegateFee_?: null, treasuryFee_?: null): EstablishmentFeesSetEventFilter; EstablishmentFeesSet(delegateFee_?: null, treasuryFee_?: null): EstablishmentFeesSetEventFilter; "Funded(address,uint256,uint256)"(lender_?: string | null, amount_?: null, nextPaymentDueDate_?: null): FundedEventFilter; Funded(lender_?: string | null, amount_?: null, nextPaymentDueDate_?: null): FundedEventFilter; "FundsClaimed(uint256,address)"(amount_?: null, destination_?: string | null): FundsClaimedEventFilter; FundsClaimed(amount_?: null, destination_?: string | null): FundsClaimedEventFilter; "FundsDrawnDown(uint256,address)"(amount_?: null, destination_?: string | null): FundsDrawnDownEventFilter; FundsDrawnDown(amount_?: null, destination_?: string | null): FundsDrawnDownEventFilter; "FundsRedirected(uint256,address)"(amount_?: null, destination_?: string | null): FundsRedirectedEventFilter; FundsRedirected(amount_?: null, destination_?: string | null): FundsRedirectedEventFilter; "FundsReturned(uint256)"(amount_?: null): FundsReturnedEventFilter; FundsReturned(amount_?: null): FundsReturnedEventFilter; "Initialized(address,address[2],uint256[3],uint256[3],uint256[4])"(borrower_?: string | null, assets_?: null, termDetails_?: null, amounts_?: null, rates_?: null): InitializedEventFilter; Initialized(borrower_?: string | null, assets_?: null, termDetails_?: null, amounts_?: null, rates_?: null): InitializedEventFilter; "LenderAccepted(address)"(lender_?: string | null): LenderAcceptedEventFilter; LenderAccepted(lender_?: string | null): LenderAcceptedEventFilter; "LoanClosed(uint256,uint256,uint256,uint256)"(principalPaid_?: null, interestPaid_?: null, delegateFeePaid_?: null, treasuryFeePaid_?: null): LoanClosedEventFilter; LoanClosed(principalPaid_?: null, interestPaid_?: null, delegateFeePaid_?: null, treasuryFeePaid_?: null): LoanClosedEventFilter; "NewTermsAccepted(bytes32,address,uint256,bytes[])"(refinanceCommitment_?: null, refinancer_?: null, deadline_?: null, calls_?: null): NewTermsAcceptedEventFilter; NewTermsAccepted(refinanceCommitment_?: null, refinancer_?: null, deadline_?: null, calls_?: null): NewTermsAcceptedEventFilter; "NewTermsProposed(bytes32,address,uint256,bytes[])"(refinanceCommitment_?: null, refinancer_?: null, deadline_?: null, calls_?: null): NewTermsProposedEventFilter; NewTermsProposed(refinanceCommitment_?: null, refinancer_?: null, deadline_?: null, calls_?: null): NewTermsProposedEventFilter; "NewTermsRejected(bytes32,address,uint256,bytes[])"(refinanceCommitment_?: null, refinancer_?: null, deadline_?: null, calls_?: null): NewTermsRejectedEventFilter; NewTermsRejected(refinanceCommitment_?: null, refinancer_?: null, deadline_?: null, calls_?: null): NewTermsRejectedEventFilter; "PaymentMade(uint256,uint256,uint256,uint256)"(principalPaid_?: null, interestPaid_?: null, delegateFeePaid_?: null, treasuryFeePaid_?: null): PaymentMadeEventFilter; PaymentMade(principalPaid_?: null, interestPaid_?: null, delegateFeePaid_?: null, treasuryFeePaid_?: null): PaymentMadeEventFilter; "PendingBorrowerSet(address)"(pendingBorrower_?: null): PendingBorrowerSetEventFilter; PendingBorrowerSet(pendingBorrower_?: null): PendingBorrowerSetEventFilter; "PendingLenderSet(address)"(pendingLender_?: null): PendingLenderSetEventFilter; PendingLenderSet(pendingLender_?: null): PendingLenderSetEventFilter; "Repossessed(uint256,uint256,address)"(collateralRepossessed_?: null, fundsRepossessed_?: null, destination_?: string | null): RepossessedEventFilter; Repossessed(collateralRepossessed_?: null, fundsRepossessed_?: null, destination_?: string | null): RepossessedEventFilter; "Skimmed(address,uint256,address)"(token_?: string | null, amount_?: null, destination_?: string | null): SkimmedEventFilter; Skimmed(token_?: string | null, amount_?: null, destination_?: string | null): SkimmedEventFilter; "Upgraded(uint256,bytes)"(toVersion_?: null, arguments_?: null): UpgradedEventFilter; Upgraded(toVersion_?: null, arguments_?: null): UpgradedEventFilter; "CollateralRequiredSet(uint256)"(collateralRequired_?: null): CollateralRequiredSetEventFilter; CollateralRequiredSet(collateralRequired_?: null): CollateralRequiredSetEventFilter; "EarlyFeeRateSet(uint256)"(earlyFeeRate_?: null): EarlyFeeRateSetEventFilter; EarlyFeeRateSet(earlyFeeRate_?: null): EarlyFeeRateSetEventFilter; "EndingPrincipalSet(uint256)"(endingPrincipal_?: null): EndingPrincipalSetEventFilter; EndingPrincipalSet(endingPrincipal_?: null): EndingPrincipalSetEventFilter; "GracePeriodSet(uint256)"(gracePeriod_?: null): GracePeriodSetEventFilter; GracePeriodSet(gracePeriod_?: null): GracePeriodSetEventFilter; "InterestRateSet(uint256)"(interestRate_?: null): InterestRateSetEventFilter; InterestRateSet(interestRate_?: null): InterestRateSetEventFilter; "LateFeeRateSet(uint256)"(lateFeeRate_?: null): LateFeeRateSetEventFilter; LateFeeRateSet(lateFeeRate_?: null): LateFeeRateSetEventFilter; "LateInterestPremiumSet(uint256)"(lateInterestPremium_?: null): LateInterestPremiumSetEventFilter; LateInterestPremiumSet(lateInterestPremium_?: null): LateInterestPremiumSetEventFilter; "PaymentIntervalSet(uint256)"(paymentInterval_?: null): PaymentIntervalSetEventFilter; PaymentIntervalSet(paymentInterval_?: null): PaymentIntervalSetEventFilter; "PaymentsRemainingSet(uint256)"(paymentsRemaining_?: null): PaymentsRemainingSetEventFilter; PaymentsRemainingSet(paymentsRemaining_?: null): PaymentsRemainingSetEventFilter; "PrincipalIncreased(uint256)"(increasedBy_?: null): PrincipalIncreasedEventFilter; PrincipalIncreased(increasedBy_?: null): PrincipalIncreasedEventFilter; }; estimateGas: { acceptBorrower(overrides?: Overrides & { from?: string; }): Promise; acceptLender(overrides?: Overrides & { from?: string; }): Promise; acceptNewTerms(refinancer_: string, deadline_: BigNumberish, calls_: BytesLike[], amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; borrower(overrides?: CallOverrides): Promise; claimFunds(amount_: BigNumberish, destination_: string, overrides?: Overrides & { from?: string; }): Promise; claimableFunds(overrides?: CallOverrides): Promise; closeLoan(amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; collateral(overrides?: CallOverrides): Promise; collateralAsset(overrides?: CallOverrides): Promise; collateralRequired(overrides?: CallOverrides): Promise; delegateFee(overrides?: CallOverrides): Promise; drawableFunds(overrides?: CallOverrides): Promise; drawdownFunds(amount_: BigNumberish, destination_: string, overrides?: Overrides & { from?: string; }): Promise; earlyFeeRate(overrides?: CallOverrides): Promise; endingPrincipal(overrides?: CallOverrides): Promise; excessCollateral(overrides?: CallOverrides): Promise; factory(overrides?: CallOverrides): Promise; fundLoan(lender_: string, amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; fundsAsset(overrides?: CallOverrides): Promise; getAdditionalCollateralRequiredFor(drawdown_: BigNumberish, overrides?: CallOverrides): Promise; getEarlyPaymentBreakdown(overrides?: CallOverrides): Promise; getNextPaymentBreakdown(overrides?: CallOverrides): Promise; getRefinanceInterest(timestamp_: BigNumberish, overrides?: CallOverrides): Promise; gracePeriod(overrides?: CallOverrides): Promise; implementation(overrides?: CallOverrides): Promise; interestRate(overrides?: CallOverrides): Promise; isProtocolPaused(overrides?: CallOverrides): Promise; lateFeeRate(overrides?: CallOverrides): Promise; lateInterestPremium(overrides?: CallOverrides): Promise; lender(overrides?: CallOverrides): Promise; makePayment(amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; migrate(migrator_: string, arguments_: BytesLike, overrides?: Overrides & { from?: string; }): Promise; nextPaymentDueDate(overrides?: CallOverrides): Promise; paymentInterval(overrides?: CallOverrides): Promise; paymentsRemaining(overrides?: CallOverrides): Promise; pendingBorrower(overrides?: CallOverrides): Promise; pendingLender(overrides?: CallOverrides): Promise; postCollateral(amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; principal(overrides?: CallOverrides): Promise; principalRequested(overrides?: CallOverrides): Promise; proposeNewTerms(refinancer_: string, deadline_: BigNumberish, calls_: BytesLike[], overrides?: Overrides & { from?: string; }): Promise; refinanceCommitment(overrides?: CallOverrides): Promise; refinanceInterest(overrides?: CallOverrides): Promise; rejectNewTerms(refinancer_: string, deadline_: BigNumberish, calls_: BytesLike[], overrides?: Overrides & { from?: string; }): Promise; removeCollateral(amount_: BigNumberish, destination_: string, overrides?: Overrides & { from?: string; }): Promise; repossess(destination_: string, overrides?: Overrides & { from?: string; }): Promise; returnFunds(amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setImplementation(newImplementation_: string, overrides?: Overrides & { from?: string; }): Promise; setPendingBorrower(pendingBorrower_: string, overrides?: Overrides & { from?: string; }): Promise; setPendingLender(pendingLender_: string, overrides?: Overrides & { from?: string; }): Promise; skim(token_: string, destination_: string, overrides?: Overrides & { from?: string; }): Promise; superFactory(overrides?: CallOverrides): Promise; treasuryFee(overrides?: CallOverrides): Promise; upgrade(toVersion_: BigNumberish, arguments_: BytesLike, overrides?: Overrides & { from?: string; }): Promise; }; populateTransaction: { acceptBorrower(overrides?: Overrides & { from?: string; }): Promise; acceptLender(overrides?: Overrides & { from?: string; }): Promise; acceptNewTerms(refinancer_: string, deadline_: BigNumberish, calls_: BytesLike[], amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; borrower(overrides?: CallOverrides): Promise; claimFunds(amount_: BigNumberish, destination_: string, overrides?: Overrides & { from?: string; }): Promise; claimableFunds(overrides?: CallOverrides): Promise; closeLoan(amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; collateral(overrides?: CallOverrides): Promise; collateralAsset(overrides?: CallOverrides): Promise; collateralRequired(overrides?: CallOverrides): Promise; delegateFee(overrides?: CallOverrides): Promise; drawableFunds(overrides?: CallOverrides): Promise; drawdownFunds(amount_: BigNumberish, destination_: string, overrides?: Overrides & { from?: string; }): Promise; earlyFeeRate(overrides?: CallOverrides): Promise; endingPrincipal(overrides?: CallOverrides): Promise; excessCollateral(overrides?: CallOverrides): Promise; factory(overrides?: CallOverrides): Promise; fundLoan(lender_: string, amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; fundsAsset(overrides?: CallOverrides): Promise; getAdditionalCollateralRequiredFor(drawdown_: BigNumberish, overrides?: CallOverrides): Promise; getEarlyPaymentBreakdown(overrides?: CallOverrides): Promise; getNextPaymentBreakdown(overrides?: CallOverrides): Promise; getRefinanceInterest(timestamp_: BigNumberish, overrides?: CallOverrides): Promise; gracePeriod(overrides?: CallOverrides): Promise; implementation(overrides?: CallOverrides): Promise; interestRate(overrides?: CallOverrides): Promise; isProtocolPaused(overrides?: CallOverrides): Promise; lateFeeRate(overrides?: CallOverrides): Promise; lateInterestPremium(overrides?: CallOverrides): Promise; lender(overrides?: CallOverrides): Promise; makePayment(amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; migrate(migrator_: string, arguments_: BytesLike, overrides?: Overrides & { from?: string; }): Promise; nextPaymentDueDate(overrides?: CallOverrides): Promise; paymentInterval(overrides?: CallOverrides): Promise; paymentsRemaining(overrides?: CallOverrides): Promise; pendingBorrower(overrides?: CallOverrides): Promise; pendingLender(overrides?: CallOverrides): Promise; postCollateral(amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; principal(overrides?: CallOverrides): Promise; principalRequested(overrides?: CallOverrides): Promise; proposeNewTerms(refinancer_: string, deadline_: BigNumberish, calls_: BytesLike[], overrides?: Overrides & { from?: string; }): Promise; refinanceCommitment(overrides?: CallOverrides): Promise; refinanceInterest(overrides?: CallOverrides): Promise; rejectNewTerms(refinancer_: string, deadline_: BigNumberish, calls_: BytesLike[], overrides?: Overrides & { from?: string; }): Promise; removeCollateral(amount_: BigNumberish, destination_: string, overrides?: Overrides & { from?: string; }): Promise; repossess(destination_: string, overrides?: Overrides & { from?: string; }): Promise; returnFunds(amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setImplementation(newImplementation_: string, overrides?: Overrides & { from?: string; }): Promise; setPendingBorrower(pendingBorrower_: string, overrides?: Overrides & { from?: string; }): Promise; setPendingLender(pendingLender_: string, overrides?: Overrides & { from?: string; }): Promise; skim(token_: string, destination_: string, overrides?: Overrides & { from?: string; }): Promise; superFactory(overrides?: CallOverrides): Promise; treasuryFee(overrides?: CallOverrides): Promise; upgrade(toVersion_: BigNumberish, arguments_: BytesLike, overrides?: Overrides & { from?: string; }): Promise; }; }