import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, 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 declare namespace ICreditDesk { type LendStatusStruct = { amountLended: BigNumberish; maturedAmount: BigNumberish; }; type LendStatusStructOutput = [BigNumber, BigNumber] & { amountLended: BigNumber; maturedAmount: BigNumber; }; } export interface CreditDeskInterface extends utils.Interface { functions: { "BLOCKS_PER_DAY()": FunctionFragment; "DEFAULT_ADMIN_ROLE()": FunctionFragment; "EMERGENCY_SHUTDOWN_ROLE()": FunctionFragment; "applyPayment(address,uint256)": FunctionFragment; "assessCreditLine(address)": FunctionFragment; "config()": FunctionFragment; "createCreditLine(address,uint256,uint256,uint256,uint256,uint256,address)": FunctionFragment; "drawdown(address,uint256)": FunctionFragment; "emergencyShutdown(address)": FunctionFragment; "getBorrowerCreditLines(address)": FunctionFragment; "getCurrentAPR(address)": FunctionFragment; "getNextPaymentAmount(address,uint256)": FunctionFragment; "getRoleAdmin(bytes32)": FunctionFragment; "getSupplyBalanceAndInterest(address)": FunctionFragment; "getTotalPoolUsage(address)": FunctionFragment; "getUnderwriterCreditLines(address)": FunctionFragment; "getUnderwriterGovernanceLimit(address)": FunctionFragment; "grantRole(bytes32,address)": FunctionFragment; "hasRole(bytes32,address)": FunctionFragment; "initialize(address,address)": FunctionFragment; "paused()": FunctionFragment; "pay(address,uint256)": FunctionFragment; "proxiableUUID()": FunctionFragment; "refundPoolCollateralEarnedAmount(address,uint256)": FunctionFragment; "renounceRole(bytes32,address)": FunctionFragment; "revokeRole(bytes32,address)": FunctionFragment; "setUnderwriterGovernanceLimit(address,uint256)": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; "totalLoansOutstanding()": FunctionFragment; "totalWritedowns()": FunctionFragment; "underwriters(address)": FunctionFragment; "updatePlutusConfig()": FunctionFragment; "upgradeTo(address)": FunctionFragment; "upgradeToAndCall(address,bytes)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "BLOCKS_PER_DAY" | "DEFAULT_ADMIN_ROLE" | "EMERGENCY_SHUTDOWN_ROLE" | "applyPayment" | "assessCreditLine" | "config" | "createCreditLine" | "drawdown" | "emergencyShutdown" | "getBorrowerCreditLines" | "getCurrentAPR" | "getNextPaymentAmount" | "getRoleAdmin" | "getSupplyBalanceAndInterest" | "getTotalPoolUsage" | "getUnderwriterCreditLines" | "getUnderwriterGovernanceLimit" | "grantRole" | "hasRole" | "initialize" | "paused" | "pay" | "proxiableUUID" | "refundPoolCollateralEarnedAmount" | "renounceRole" | "revokeRole" | "setUnderwriterGovernanceLimit" | "supportsInterface" | "totalLoansOutstanding" | "totalWritedowns" | "underwriters" | "updatePlutusConfig" | "upgradeTo" | "upgradeToAndCall"): FunctionFragment; encodeFunctionData(functionFragment: "BLOCKS_PER_DAY", values?: undefined): string; encodeFunctionData(functionFragment: "DEFAULT_ADMIN_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "EMERGENCY_SHUTDOWN_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "applyPayment", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "assessCreditLine", values: [string]): string; encodeFunctionData(functionFragment: "config", values?: undefined): string; encodeFunctionData(functionFragment: "createCreditLine", values: [ string, BigNumberish, BigNumberish, BigNumberish, BigNumberish, BigNumberish, string ]): string; encodeFunctionData(functionFragment: "drawdown", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "emergencyShutdown", values: [string]): string; encodeFunctionData(functionFragment: "getBorrowerCreditLines", values: [string]): string; encodeFunctionData(functionFragment: "getCurrentAPR", values: [string]): string; encodeFunctionData(functionFragment: "getNextPaymentAmount", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "getRoleAdmin", values: [BytesLike]): string; encodeFunctionData(functionFragment: "getSupplyBalanceAndInterest", values: [string]): string; encodeFunctionData(functionFragment: "getTotalPoolUsage", values: [string]): string; encodeFunctionData(functionFragment: "getUnderwriterCreditLines", values: [string]): string; encodeFunctionData(functionFragment: "getUnderwriterGovernanceLimit", values: [string]): string; encodeFunctionData(functionFragment: "grantRole", values: [BytesLike, string]): string; encodeFunctionData(functionFragment: "hasRole", values: [BytesLike, string]): string; encodeFunctionData(functionFragment: "initialize", values: [string, string]): string; encodeFunctionData(functionFragment: "paused", values?: undefined): string; encodeFunctionData(functionFragment: "pay", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "proxiableUUID", values?: undefined): string; encodeFunctionData(functionFragment: "refundPoolCollateralEarnedAmount", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "renounceRole", values: [BytesLike, string]): string; encodeFunctionData(functionFragment: "revokeRole", values: [BytesLike, string]): string; encodeFunctionData(functionFragment: "setUnderwriterGovernanceLimit", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string; encodeFunctionData(functionFragment: "totalLoansOutstanding", values?: undefined): string; encodeFunctionData(functionFragment: "totalWritedowns", values?: undefined): string; encodeFunctionData(functionFragment: "underwriters", values: [string]): string; encodeFunctionData(functionFragment: "updatePlutusConfig", values?: undefined): string; encodeFunctionData(functionFragment: "upgradeTo", values: [string]): string; encodeFunctionData(functionFragment: "upgradeToAndCall", values: [string, BytesLike]): string; decodeFunctionResult(functionFragment: "BLOCKS_PER_DAY", data: BytesLike): Result; decodeFunctionResult(functionFragment: "DEFAULT_ADMIN_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "EMERGENCY_SHUTDOWN_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "applyPayment", data: BytesLike): Result; decodeFunctionResult(functionFragment: "assessCreditLine", data: BytesLike): Result; decodeFunctionResult(functionFragment: "config", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createCreditLine", data: BytesLike): Result; decodeFunctionResult(functionFragment: "drawdown", data: BytesLike): Result; decodeFunctionResult(functionFragment: "emergencyShutdown", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getBorrowerCreditLines", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getCurrentAPR", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getNextPaymentAmount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRoleAdmin", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getSupplyBalanceAndInterest", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getTotalPoolUsage", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getUnderwriterCreditLines", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getUnderwriterGovernanceLimit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "paused", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pay", data: BytesLike): Result; decodeFunctionResult(functionFragment: "proxiableUUID", data: BytesLike): Result; decodeFunctionResult(functionFragment: "refundPoolCollateralEarnedAmount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "renounceRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "revokeRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setUnderwriterGovernanceLimit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalLoansOutstanding", data: BytesLike): Result; decodeFunctionResult(functionFragment: "totalWritedowns", data: BytesLike): Result; decodeFunctionResult(functionFragment: "underwriters", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updatePlutusConfig", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result; events: { "AdminChanged(address,address)": EventFragment; "BeaconUpgraded(address)": EventFragment; "CreditLineCreated(address,address)": EventFragment; "DrawdownMade(address,address,uint256,uint256,uint256)": EventFragment; "EmergencyShutdownTransfer(address,address,uint256)": EventFragment; "GovernanceUpdatedUnderwriterLimit(address,uint256)": EventFragment; "Initialized(uint8)": EventFragment; "Paused(address)": EventFragment; "PaymentApplied(address,address,uint256,uint256,uint256)": EventFragment; "PaymentCollected(address,address,uint256)": EventFragment; "RoleAdminChanged(bytes32,bytes32,bytes32)": EventFragment; "RoleGranted(bytes32,address,address)": EventFragment; "RoleRevoked(bytes32,address,address)": EventFragment; "Unpaused(address)": EventFragment; "Upgraded(address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment; getEvent(nameOrSignatureOrTopic: "CreditLineCreated"): EventFragment; getEvent(nameOrSignatureOrTopic: "DrawdownMade"): EventFragment; getEvent(nameOrSignatureOrTopic: "EmergencyShutdownTransfer"): EventFragment; getEvent(nameOrSignatureOrTopic: "GovernanceUpdatedUnderwriterLimit"): EventFragment; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "Paused"): EventFragment; getEvent(nameOrSignatureOrTopic: "PaymentApplied"): EventFragment; getEvent(nameOrSignatureOrTopic: "PaymentCollected"): EventFragment; getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment; getEvent(nameOrSignatureOrTopic: "RoleRevoked"): EventFragment; getEvent(nameOrSignatureOrTopic: "Unpaused"): EventFragment; getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment; } export interface AdminChangedEventObject { previousAdmin: string; newAdmin: string; } export type AdminChangedEvent = TypedEvent<[ string, string ], AdminChangedEventObject>; export type AdminChangedEventFilter = TypedEventFilter; export interface BeaconUpgradedEventObject { beacon: string; } export type BeaconUpgradedEvent = TypedEvent<[ string ], BeaconUpgradedEventObject>; export type BeaconUpgradedEventFilter = TypedEventFilter; export interface CreditLineCreatedEventObject { borrower: string; creditLine: string; } export type CreditLineCreatedEvent = TypedEvent<[ string, string ], CreditLineCreatedEventObject>; export type CreditLineCreatedEventFilter = TypedEventFilter; export interface DrawdownMadeEventObject { borrower: string; creditLine: string; drawdownAmount: BigNumber; startTime: BigNumber; termInDays: BigNumber; } export type DrawdownMadeEvent = TypedEvent<[ string, string, BigNumber, BigNumber, BigNumber ], DrawdownMadeEventObject>; export type DrawdownMadeEventFilter = TypedEventFilter; export interface EmergencyShutdownTransferEventObject { contractAddress: string; tokenAddresss: string; usdcAmount: BigNumber; } export type EmergencyShutdownTransferEvent = TypedEvent<[ string, string, BigNumber ], EmergencyShutdownTransferEventObject>; export type EmergencyShutdownTransferEventFilter = TypedEventFilter; export interface GovernanceUpdatedUnderwriterLimitEventObject { underwriter: string; newLimit: BigNumber; } export type GovernanceUpdatedUnderwriterLimitEvent = TypedEvent<[ string, BigNumber ], GovernanceUpdatedUnderwriterLimitEventObject>; export type GovernanceUpdatedUnderwriterLimitEventFilter = TypedEventFilter; export interface InitializedEventObject { version: number; } export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; export type InitializedEventFilter = TypedEventFilter; export interface PausedEventObject { account: string; } export type PausedEvent = TypedEvent<[string], PausedEventObject>; export type PausedEventFilter = TypedEventFilter; export interface PaymentAppliedEventObject { payer: string; creditLine: string; interestAmount: BigNumber; principalAmount: BigNumber; remainingAmount: BigNumber; } export type PaymentAppliedEvent = TypedEvent<[ string, string, BigNumber, BigNumber, BigNumber ], PaymentAppliedEventObject>; export type PaymentAppliedEventFilter = TypedEventFilter; export interface PaymentCollectedEventObject { payer: string; creditLine: string; paymentAmount: BigNumber; } export type PaymentCollectedEvent = TypedEvent<[ string, string, BigNumber ], PaymentCollectedEventObject>; export type PaymentCollectedEventFilter = TypedEventFilter; export interface RoleAdminChangedEventObject { role: string; previousAdminRole: string; newAdminRole: string; } export type RoleAdminChangedEvent = TypedEvent<[ string, string, string ], RoleAdminChangedEventObject>; export type RoleAdminChangedEventFilter = TypedEventFilter; export interface RoleGrantedEventObject { role: string; account: string; sender: string; } export type RoleGrantedEvent = TypedEvent<[ string, string, string ], RoleGrantedEventObject>; export type RoleGrantedEventFilter = TypedEventFilter; export interface RoleRevokedEventObject { role: string; account: string; sender: string; } export type RoleRevokedEvent = TypedEvent<[ string, string, string ], RoleRevokedEventObject>; export type RoleRevokedEventFilter = TypedEventFilter; export interface UnpausedEventObject { account: string; } export type UnpausedEvent = TypedEvent<[string], UnpausedEventObject>; export type UnpausedEventFilter = TypedEventFilter; export interface UpgradedEventObject { implementation: string; } export type UpgradedEvent = TypedEvent<[string], UpgradedEventObject>; export type UpgradedEventFilter = TypedEventFilter; export interface CreditDesk extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: CreditDeskInterface; 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: { BLOCKS_PER_DAY(overrides?: CallOverrides): Promise<[BigNumber]>; DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>; EMERGENCY_SHUTDOWN_ROLE(overrides?: CallOverrides): Promise<[string]>; applyPayment(creditLineAddress: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; assessCreditLine(creditLineAddress: string, overrides?: Overrides & { from?: string; }): Promise; config(overrides?: CallOverrides): Promise<[string]>; createCreditLine(_borrower: string, _limit: BigNumberish, _interestApr: BigNumberish, _paymentPeriodInDays: BigNumberish, _termInDays: BigNumberish, _lateFeeApr: BigNumberish, _assetToken: string, overrides?: Overrides & { from?: string; }): Promise; drawdown(creditLineAddress: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; emergencyShutdown(underwriterAddress: string, overrides?: Overrides & { from?: string; }): Promise; getBorrowerCreditLines(borrowerAddress: string, overrides?: CallOverrides): Promise<[string[]]>; getCurrentAPR(underwriterAddress: string, overrides?: CallOverrides): Promise<[BigNumber] & { averageApr: BigNumber; }>; getNextPaymentAmount(creditLineAddress: string, asOfBLock: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<[string]>; getSupplyBalanceAndInterest(wallet: string, overrides?: CallOverrides): Promise<[ ICreditDesk.LendStatusStructOutput ] & { status: ICreditDesk.LendStatusStructOutput; }>; getTotalPoolUsage(underwriterAddress: string, overrides?: CallOverrides): Promise<[BigNumber] & { totalUsage: BigNumber; }>; getUnderwriterCreditLines(underwriterAddress: string, overrides?: CallOverrides): Promise<[string[]]>; getUnderwriterGovernanceLimit(underwriterAddress: string, overrides?: CallOverrides): Promise<[BigNumber]>; grantRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise<[boolean]>; initialize(owner: string, _config: string, overrides?: Overrides & { from?: string; }): Promise; paused(overrides?: CallOverrides): Promise<[boolean]>; pay(creditLineAddress: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; proxiableUUID(overrides?: CallOverrides): Promise<[string]>; refundPoolCollateralEarnedAmount(creditlineAddress: string, refundedAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; renounceRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; revokeRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; setUnderwriterGovernanceLimit(underwriterAddress: string, limit: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<[boolean]>; totalLoansOutstanding(overrides?: CallOverrides): Promise<[BigNumber]>; totalWritedowns(overrides?: CallOverrides): Promise<[BigNumber]>; underwriters(arg0: string, overrides?: CallOverrides): Promise<[BigNumber] & { governanceLimit: BigNumber; }>; updatePlutusConfig(overrides?: Overrides & { from?: string; }): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; }; BLOCKS_PER_DAY(overrides?: CallOverrides): Promise; DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; EMERGENCY_SHUTDOWN_ROLE(overrides?: CallOverrides): Promise; applyPayment(creditLineAddress: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; assessCreditLine(creditLineAddress: string, overrides?: Overrides & { from?: string; }): Promise; config(overrides?: CallOverrides): Promise; createCreditLine(_borrower: string, _limit: BigNumberish, _interestApr: BigNumberish, _paymentPeriodInDays: BigNumberish, _termInDays: BigNumberish, _lateFeeApr: BigNumberish, _assetToken: string, overrides?: Overrides & { from?: string; }): Promise; drawdown(creditLineAddress: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; emergencyShutdown(underwriterAddress: string, overrides?: Overrides & { from?: string; }): Promise; getBorrowerCreditLines(borrowerAddress: string, overrides?: CallOverrides): Promise; getCurrentAPR(underwriterAddress: string, overrides?: CallOverrides): Promise; getNextPaymentAmount(creditLineAddress: string, asOfBLock: BigNumberish, overrides?: CallOverrides): Promise; getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise; getSupplyBalanceAndInterest(wallet: string, overrides?: CallOverrides): Promise; getTotalPoolUsage(underwriterAddress: string, overrides?: CallOverrides): Promise; getUnderwriterCreditLines(underwriterAddress: string, overrides?: CallOverrides): Promise; getUnderwriterGovernanceLimit(underwriterAddress: string, overrides?: CallOverrides): Promise; grantRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise; initialize(owner: string, _config: string, overrides?: Overrides & { from?: string; }): Promise; paused(overrides?: CallOverrides): Promise; pay(creditLineAddress: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; proxiableUUID(overrides?: CallOverrides): Promise; refundPoolCollateralEarnedAmount(creditlineAddress: string, refundedAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; renounceRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; revokeRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; setUnderwriterGovernanceLimit(underwriterAddress: string, limit: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; totalLoansOutstanding(overrides?: CallOverrides): Promise; totalWritedowns(overrides?: CallOverrides): Promise; underwriters(arg0: string, overrides?: CallOverrides): Promise; updatePlutusConfig(overrides?: Overrides & { from?: string; }): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; callStatic: { BLOCKS_PER_DAY(overrides?: CallOverrides): Promise; DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; EMERGENCY_SHUTDOWN_ROLE(overrides?: CallOverrides): Promise; applyPayment(creditLineAddress: string, amount: BigNumberish, overrides?: CallOverrides): Promise; assessCreditLine(creditLineAddress: string, overrides?: CallOverrides): Promise; config(overrides?: CallOverrides): Promise; createCreditLine(_borrower: string, _limit: BigNumberish, _interestApr: BigNumberish, _paymentPeriodInDays: BigNumberish, _termInDays: BigNumberish, _lateFeeApr: BigNumberish, _assetToken: string, overrides?: CallOverrides): Promise; drawdown(creditLineAddress: string, amount: BigNumberish, overrides?: CallOverrides): Promise; emergencyShutdown(underwriterAddress: string, overrides?: CallOverrides): Promise; getBorrowerCreditLines(borrowerAddress: string, overrides?: CallOverrides): Promise; getCurrentAPR(underwriterAddress: string, overrides?: CallOverrides): Promise; getNextPaymentAmount(creditLineAddress: string, asOfBLock: BigNumberish, overrides?: CallOverrides): Promise; getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise; getSupplyBalanceAndInterest(wallet: string, overrides?: CallOverrides): Promise; getTotalPoolUsage(underwriterAddress: string, overrides?: CallOverrides): Promise; getUnderwriterCreditLines(underwriterAddress: string, overrides?: CallOverrides): Promise; getUnderwriterGovernanceLimit(underwriterAddress: string, overrides?: CallOverrides): Promise; grantRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise; hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise; initialize(owner: string, _config: string, overrides?: CallOverrides): Promise; paused(overrides?: CallOverrides): Promise; pay(creditLineAddress: string, amount: BigNumberish, overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; refundPoolCollateralEarnedAmount(creditlineAddress: string, refundedAmount: BigNumberish, overrides?: CallOverrides): Promise; renounceRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise; revokeRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise; setUnderwriterGovernanceLimit(underwriterAddress: string, limit: BigNumberish, overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; totalLoansOutstanding(overrides?: CallOverrides): Promise; totalWritedowns(overrides?: CallOverrides): Promise; underwriters(arg0: string, overrides?: CallOverrides): Promise; updatePlutusConfig(overrides?: CallOverrides): Promise; upgradeTo(newImplementation: string, overrides?: CallOverrides): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: CallOverrides): Promise; }; filters: { "AdminChanged(address,address)"(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter; AdminChanged(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter; "BeaconUpgraded(address)"(beacon?: string | null): BeaconUpgradedEventFilter; BeaconUpgraded(beacon?: string | null): BeaconUpgradedEventFilter; "CreditLineCreated(address,address)"(borrower?: string | null, creditLine?: string | null): CreditLineCreatedEventFilter; CreditLineCreated(borrower?: string | null, creditLine?: string | null): CreditLineCreatedEventFilter; "DrawdownMade(address,address,uint256,uint256,uint256)"(borrower?: string | null, creditLine?: string | null, drawdownAmount?: null, startTime?: null, termInDays?: null): DrawdownMadeEventFilter; DrawdownMade(borrower?: string | null, creditLine?: string | null, drawdownAmount?: null, startTime?: null, termInDays?: null): DrawdownMadeEventFilter; "EmergencyShutdownTransfer(address,address,uint256)"(contractAddress?: null, tokenAddresss?: null, usdcAmount?: null): EmergencyShutdownTransferEventFilter; EmergencyShutdownTransfer(contractAddress?: null, tokenAddresss?: null, usdcAmount?: null): EmergencyShutdownTransferEventFilter; "GovernanceUpdatedUnderwriterLimit(address,uint256)"(underwriter?: string | null, newLimit?: null): GovernanceUpdatedUnderwriterLimitEventFilter; GovernanceUpdatedUnderwriterLimit(underwriter?: string | null, newLimit?: null): GovernanceUpdatedUnderwriterLimitEventFilter; "Initialized(uint8)"(version?: null): InitializedEventFilter; Initialized(version?: null): InitializedEventFilter; "Paused(address)"(account?: null): PausedEventFilter; Paused(account?: null): PausedEventFilter; "PaymentApplied(address,address,uint256,uint256,uint256)"(payer?: string | null, creditLine?: string | null, interestAmount?: null, principalAmount?: null, remainingAmount?: null): PaymentAppliedEventFilter; PaymentApplied(payer?: string | null, creditLine?: string | null, interestAmount?: null, principalAmount?: null, remainingAmount?: null): PaymentAppliedEventFilter; "PaymentCollected(address,address,uint256)"(payer?: string | null, creditLine?: string | null, paymentAmount?: null): PaymentCollectedEventFilter; PaymentCollected(payer?: string | null, creditLine?: string | null, paymentAmount?: null): PaymentCollectedEventFilter; "RoleAdminChanged(bytes32,bytes32,bytes32)"(role?: BytesLike | null, previousAdminRole?: BytesLike | null, newAdminRole?: BytesLike | null): RoleAdminChangedEventFilter; RoleAdminChanged(role?: BytesLike | null, previousAdminRole?: BytesLike | null, newAdminRole?: BytesLike | null): RoleAdminChangedEventFilter; "RoleGranted(bytes32,address,address)"(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleGrantedEventFilter; RoleGranted(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleGrantedEventFilter; "RoleRevoked(bytes32,address,address)"(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleRevokedEventFilter; RoleRevoked(role?: BytesLike | null, account?: string | null, sender?: string | null): RoleRevokedEventFilter; "Unpaused(address)"(account?: null): UnpausedEventFilter; Unpaused(account?: null): UnpausedEventFilter; "Upgraded(address)"(implementation?: string | null): UpgradedEventFilter; Upgraded(implementation?: string | null): UpgradedEventFilter; }; estimateGas: { BLOCKS_PER_DAY(overrides?: CallOverrides): Promise; DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; EMERGENCY_SHUTDOWN_ROLE(overrides?: CallOverrides): Promise; applyPayment(creditLineAddress: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; assessCreditLine(creditLineAddress: string, overrides?: Overrides & { from?: string; }): Promise; config(overrides?: CallOverrides): Promise; createCreditLine(_borrower: string, _limit: BigNumberish, _interestApr: BigNumberish, _paymentPeriodInDays: BigNumberish, _termInDays: BigNumberish, _lateFeeApr: BigNumberish, _assetToken: string, overrides?: Overrides & { from?: string; }): Promise; drawdown(creditLineAddress: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; emergencyShutdown(underwriterAddress: string, overrides?: Overrides & { from?: string; }): Promise; getBorrowerCreditLines(borrowerAddress: string, overrides?: CallOverrides): Promise; getCurrentAPR(underwriterAddress: string, overrides?: CallOverrides): Promise; getNextPaymentAmount(creditLineAddress: string, asOfBLock: BigNumberish, overrides?: CallOverrides): Promise; getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise; getSupplyBalanceAndInterest(wallet: string, overrides?: CallOverrides): Promise; getTotalPoolUsage(underwriterAddress: string, overrides?: CallOverrides): Promise; getUnderwriterCreditLines(underwriterAddress: string, overrides?: CallOverrides): Promise; getUnderwriterGovernanceLimit(underwriterAddress: string, overrides?: CallOverrides): Promise; grantRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise; initialize(owner: string, _config: string, overrides?: Overrides & { from?: string; }): Promise; paused(overrides?: CallOverrides): Promise; pay(creditLineAddress: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; proxiableUUID(overrides?: CallOverrides): Promise; refundPoolCollateralEarnedAmount(creditlineAddress: string, refundedAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; renounceRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; revokeRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; setUnderwriterGovernanceLimit(underwriterAddress: string, limit: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; totalLoansOutstanding(overrides?: CallOverrides): Promise; totalWritedowns(overrides?: CallOverrides): Promise; underwriters(arg0: string, overrides?: CallOverrides): Promise; updatePlutusConfig(overrides?: Overrides & { from?: string; }): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; }; populateTransaction: { BLOCKS_PER_DAY(overrides?: CallOverrides): Promise; DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise; EMERGENCY_SHUTDOWN_ROLE(overrides?: CallOverrides): Promise; applyPayment(creditLineAddress: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; assessCreditLine(creditLineAddress: string, overrides?: Overrides & { from?: string; }): Promise; config(overrides?: CallOverrides): Promise; createCreditLine(_borrower: string, _limit: BigNumberish, _interestApr: BigNumberish, _paymentPeriodInDays: BigNumberish, _termInDays: BigNumberish, _lateFeeApr: BigNumberish, _assetToken: string, overrides?: Overrides & { from?: string; }): Promise; drawdown(creditLineAddress: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; emergencyShutdown(underwriterAddress: string, overrides?: Overrides & { from?: string; }): Promise; getBorrowerCreditLines(borrowerAddress: string, overrides?: CallOverrides): Promise; getCurrentAPR(underwriterAddress: string, overrides?: CallOverrides): Promise; getNextPaymentAmount(creditLineAddress: string, asOfBLock: BigNumberish, overrides?: CallOverrides): Promise; getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise; getSupplyBalanceAndInterest(wallet: string, overrides?: CallOverrides): Promise; getTotalPoolUsage(underwriterAddress: string, overrides?: CallOverrides): Promise; getUnderwriterCreditLines(underwriterAddress: string, overrides?: CallOverrides): Promise; getUnderwriterGovernanceLimit(underwriterAddress: string, overrides?: CallOverrides): Promise; grantRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; hasRole(role: BytesLike, account: string, overrides?: CallOverrides): Promise; initialize(owner: string, _config: string, overrides?: Overrides & { from?: string; }): Promise; paused(overrides?: CallOverrides): Promise; pay(creditLineAddress: string, amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; proxiableUUID(overrides?: CallOverrides): Promise; refundPoolCollateralEarnedAmount(creditlineAddress: string, refundedAmount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; renounceRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; revokeRole(role: BytesLike, account: string, overrides?: Overrides & { from?: string; }): Promise; setUnderwriterGovernanceLimit(underwriterAddress: string, limit: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; totalLoansOutstanding(overrides?: CallOverrides): Promise; totalWritedowns(overrides?: CallOverrides): Promise; underwriters(arg0: string, overrides?: CallOverrides): Promise; updatePlutusConfig(overrides?: Overrides & { from?: string; }): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; }; }