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, PromiseOrValue } from './common';
export interface RookLiquidityPoolV3Interface extends utils.Interface {
    functions: {
        'BIPS_BASE()': FunctionFragment;
        'DEFAULT_ADMIN_ROLE()': FunctionFragment;
        'ETHEREUM()': FunctionFragment;
        'OPERATOR_ROLE()': FunctionFragment;
        'adapterBorrow(address,uint256,bytes)': FunctionFragment;
        'adapterLimits(address)': FunctionFragment;
        'adapterLoanedAmount(address,address)': FunctionFragment;
        'adapterRepay(address,address,uint256)': FunctionFragment;
        'addOperator(address)': FunctionFragment;
        'blacklistRecoverableToken(address)': FunctionFragment;
        'borrow(address,uint256,bytes)': FunctionFragment;
        'borrowableBalance(address)': FunctionFragment;
        'borrower()': FunctionFragment;
        'deposit(address,uint256)': FunctionFragment;
        'depositFeeInBips()': FunctionFragment;
        'getRoleAdmin(bytes32)': FunctionFragment;
        'grantRole(bytes32,address)': FunctionFragment;
        'hasRole(bytes32,address)': FunctionFragment;
        'isOperator(address)': FunctionFragment;
        'kToken(address)': FunctionFragment;
        'kTokens(address)': FunctionFragment;
        'loanedAmount(address)': FunctionFragment;
        'migrate(address)': FunctionFragment;
        'pause()': FunctionFragment;
        'paused()': FunctionFragment;
        'poolFeeInBips()': FunctionFragment;
        'recoverTokens(address)': FunctionFragment;
        'register(address)': FunctionFragment;
        'registeredKTokens(address)': FunctionFragment;
        'registeredTokens(uint256)': FunctionFragment;
        'renounceOperator()': FunctionFragment;
        'renounceRole(bytes32,address)': FunctionFragment;
        'revokeRole(bytes32,address)': FunctionFragment;
        'supportsInterface(bytes4)': FunctionFragment;
        'totalValueLocked(address)': FunctionFragment;
        'underlyingBalance(address,address)': FunctionFragment;
        'unpause()': FunctionFragment;
        'updateAdapterLimit(address,uint256)': FunctionFragment;
        'updateDepositFee(uint256)': FunctionFragment;
        'updateFeePool(address)': FunctionFragment;
        'updatePoolFee(uint256)': FunctionFragment;
        'withdraw(address,address,uint256)': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: 'BIPS_BASE' | 'DEFAULT_ADMIN_ROLE' | 'ETHEREUM' | 'OPERATOR_ROLE' | 'adapterBorrow' | 'adapterLimits' | 'adapterLoanedAmount' | 'adapterRepay' | 'addOperator' | 'blacklistRecoverableToken' | 'borrow' | 'borrowableBalance' | 'borrower' | 'deposit' | 'depositFeeInBips' | 'getRoleAdmin' | 'grantRole' | 'hasRole' | 'isOperator' | 'kToken' | 'kTokens' | 'loanedAmount' | 'migrate' | 'pause' | 'paused' | 'poolFeeInBips' | 'recoverTokens' | 'register' | 'registeredKTokens' | 'registeredTokens' | 'renounceOperator' | 'renounceRole' | 'revokeRole' | 'supportsInterface' | 'totalValueLocked' | 'underlyingBalance' | 'unpause' | 'updateAdapterLimit' | 'updateDepositFee' | 'updateFeePool' | 'updatePoolFee' | 'withdraw'): FunctionFragment;
    encodeFunctionData(functionFragment: 'BIPS_BASE', values?: undefined): string;
    encodeFunctionData(functionFragment: 'DEFAULT_ADMIN_ROLE', values?: undefined): string;
    encodeFunctionData(functionFragment: 'ETHEREUM', values?: undefined): string;
    encodeFunctionData(functionFragment: 'OPERATOR_ROLE', values?: undefined): string;
    encodeFunctionData(functionFragment: 'adapterBorrow', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'adapterLimits', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'adapterLoanedAmount', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'adapterRepay', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'addOperator', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'blacklistRecoverableToken', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'borrow', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'borrowableBalance', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'borrower', values?: undefined): string;
    encodeFunctionData(functionFragment: 'deposit', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'depositFeeInBips', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getRoleAdmin', values: [PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'grantRole', values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'hasRole', values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'isOperator', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'kToken', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'kTokens', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'loanedAmount', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'migrate', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'pause', values?: undefined): string;
    encodeFunctionData(functionFragment: 'paused', values?: undefined): string;
    encodeFunctionData(functionFragment: 'poolFeeInBips', values?: undefined): string;
    encodeFunctionData(functionFragment: 'recoverTokens', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'register', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'registeredKTokens', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'registeredTokens', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'renounceOperator', values?: undefined): string;
    encodeFunctionData(functionFragment: 'renounceRole', values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'revokeRole', values: [PromiseOrValue<BytesLike>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'supportsInterface', values: [PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'totalValueLocked', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'underlyingBalance', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'unpause', values?: undefined): string;
    encodeFunctionData(functionFragment: 'updateAdapterLimit', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'updateDepositFee', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'updateFeePool', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'updatePoolFee', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'withdraw', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    decodeFunctionResult(functionFragment: 'BIPS_BASE', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'DEFAULT_ADMIN_ROLE', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ETHEREUM', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'OPERATOR_ROLE', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'adapterBorrow', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'adapterLimits', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'adapterLoanedAmount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'adapterRepay', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'addOperator', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'blacklistRecoverableToken', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'borrow', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'borrowableBalance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'borrower', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'deposit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'depositFeeInBips', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getRoleAdmin', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'grantRole', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'hasRole', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isOperator', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'kToken', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'kTokens', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'loanedAmount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'migrate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'pause', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'paused', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'poolFeeInBips', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'recoverTokens', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'register', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'registeredKTokens', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'registeredTokens', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'renounceOperator', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'renounceRole', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'revokeRole', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'supportsInterface', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'totalValueLocked', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'underlyingBalance', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'unpause', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'updateAdapterLimit', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'updateDepositFee', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'updateFeePool', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'updatePoolFee', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'withdraw', data: BytesLike): Result;
    events: {
        'AdapterBorrowed(address,address,uint256)': EventFragment;
        'AdapterLimitChanged(address,uint256,uint256)': EventFragment;
        'AdapterRepaid(address,address,uint256)': EventFragment;
        'Borrowed(address,address,uint256,uint256)': EventFragment;
        'Deposited(address,address,uint256,uint256)': EventFragment;
        'EtherReceived(address,uint256)': EventFragment;
        'OperatorAdded(address)': EventFragment;
        'OperatorRemoved(address)': EventFragment;
        'Paused(address)': EventFragment;
        'RoleAdminChanged(bytes32,bytes32,bytes32)': EventFragment;
        'RoleGranted(bytes32,address,address)': EventFragment;
        'RoleRevoked(bytes32,address,address)': EventFragment;
        'Unpaused(address)': EventFragment;
        'Withdrew(address,address,address,uint256,uint256)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'AdapterBorrowed'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'AdapterLimitChanged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'AdapterRepaid'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Borrowed'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Deposited'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'EtherReceived'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'OperatorAdded'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'OperatorRemoved'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Paused'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RoleAdminChanged'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RoleGranted'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'RoleRevoked'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Unpaused'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Withdrew'): EventFragment;
}
export interface AdapterBorrowedEventObject {
    _adapter: string;
    _token: string;
    _amount: BigNumber;
}
export declare type AdapterBorrowedEvent = TypedEvent<[string, string, BigNumber], AdapterBorrowedEventObject>;
export declare type AdapterBorrowedEventFilter = TypedEventFilter<AdapterBorrowedEvent>;
export interface AdapterLimitChangedEventObject {
    _adapter: string;
    _from: BigNumber;
    _to: BigNumber;
}
export declare type AdapterLimitChangedEvent = TypedEvent<[string, BigNumber, BigNumber], AdapterLimitChangedEventObject>;
export declare type AdapterLimitChangedEventFilter = TypedEventFilter<AdapterLimitChangedEvent>;
export interface AdapterRepaidEventObject {
    _adapter: string;
    _token: string;
    _amount: BigNumber;
}
export declare type AdapterRepaidEvent = TypedEvent<[string, string, BigNumber], AdapterRepaidEventObject>;
export declare type AdapterRepaidEventFilter = TypedEventFilter<AdapterRepaidEvent>;
export interface BorrowedEventObject {
    _borrower: string;
    _token: string;
    _amount: BigNumber;
    _fee: BigNumber;
}
export declare type BorrowedEvent = TypedEvent<[string, string, BigNumber, BigNumber], BorrowedEventObject>;
export declare type BorrowedEventFilter = TypedEventFilter<BorrowedEvent>;
export interface DepositedEventObject {
    _depositor: string;
    _token: string;
    _amount: BigNumber;
    _mintAmount: BigNumber;
}
export declare type DepositedEvent = TypedEvent<[string, string, BigNumber, BigNumber], DepositedEventObject>;
export declare type DepositedEventFilter = TypedEventFilter<DepositedEvent>;
export interface EtherReceivedEventObject {
    _from: string;
    _amount: BigNumber;
}
export declare type EtherReceivedEvent = TypedEvent<[string, BigNumber], EtherReceivedEventObject>;
export declare type EtherReceivedEventFilter = TypedEventFilter<EtherReceivedEvent>;
export interface OperatorAddedEventObject {
    account: string;
}
export declare type OperatorAddedEvent = TypedEvent<[string], OperatorAddedEventObject>;
export declare type OperatorAddedEventFilter = TypedEventFilter<OperatorAddedEvent>;
export interface OperatorRemovedEventObject {
    account: string;
}
export declare type OperatorRemovedEvent = TypedEvent<[string], OperatorRemovedEventObject>;
export declare type OperatorRemovedEventFilter = TypedEventFilter<OperatorRemovedEvent>;
export interface PausedEventObject {
    account: string;
}
export declare type PausedEvent = TypedEvent<[string], PausedEventObject>;
export declare type PausedEventFilter = TypedEventFilter<PausedEvent>;
export interface RoleAdminChangedEventObject {
    role: string;
    previousAdminRole: string;
    newAdminRole: string;
}
export declare type RoleAdminChangedEvent = TypedEvent<[string, string, string], RoleAdminChangedEventObject>;
export declare type RoleAdminChangedEventFilter = TypedEventFilter<RoleAdminChangedEvent>;
export interface RoleGrantedEventObject {
    role: string;
    account: string;
    sender: string;
}
export declare type RoleGrantedEvent = TypedEvent<[string, string, string], RoleGrantedEventObject>;
export declare type RoleGrantedEventFilter = TypedEventFilter<RoleGrantedEvent>;
export interface RoleRevokedEventObject {
    role: string;
    account: string;
    sender: string;
}
export declare type RoleRevokedEvent = TypedEvent<[string, string, string], RoleRevokedEventObject>;
export declare type RoleRevokedEventFilter = TypedEventFilter<RoleRevokedEvent>;
export interface UnpausedEventObject {
    account: string;
}
export declare type UnpausedEvent = TypedEvent<[string], UnpausedEventObject>;
export declare type UnpausedEventFilter = TypedEventFilter<UnpausedEvent>;
export interface WithdrewEventObject {
    _reciever: string;
    _withdrawer: string;
    _token: string;
    _amount: BigNumber;
    _burnAmount: BigNumber;
}
export declare type WithdrewEvent = TypedEvent<[string, string, string, BigNumber, BigNumber], WithdrewEventObject>;
export declare type WithdrewEventFilter = TypedEventFilter<WithdrewEvent>;
export interface RookLiquidityPoolV3 extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: RookLiquidityPoolV3Interface;
    queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
    listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
    listeners(eventName?: string): Array<Listener>;
    removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
    removeAllListeners(eventName?: string): this;
    off: OnEvent<this>;
    on: OnEvent<this>;
    once: OnEvent<this>;
    removeListener: OnEvent<this>;
    functions: {
        BIPS_BASE(overrides?: CallOverrides): Promise<[BigNumber]>;
        DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<[string]>;
        ETHEREUM(overrides?: CallOverrides): Promise<[string]>;
        OPERATOR_ROLE(overrides?: CallOverrides): Promise<[string]>;
        adapterBorrow(_token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        adapterLimits(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        adapterLoanedAmount(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        adapterRepay(_adapter: PromiseOrValue<string>, _token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        addOperator(account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        blacklistRecoverableToken(_token: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        borrow(_token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        borrowableBalance(_token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        borrower(overrides?: CallOverrides): Promise<[string]>;
        deposit(_token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        depositFeeInBips(overrides?: CallOverrides): Promise<[BigNumber]>;
        getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[string]>;
        grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        isOperator(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        kToken(_token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string]>;
        kTokens(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string]>;
        loanedAmount(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        migrate(_newLP: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        pause(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        paused(overrides?: CallOverrides): Promise<[boolean]>;
        poolFeeInBips(overrides?: CallOverrides): Promise<[BigNumber]>;
        recoverTokens(_token: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        register(_kToken: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        registeredKTokens(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        registeredTokens(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        renounceOperator(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[boolean]>;
        totalValueLocked(_token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        underlyingBalance(_token: PromiseOrValue<string>, _owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        unpause(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        updateAdapterLimit(_adapter: PromiseOrValue<string>, _limitInBips: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        updateDepositFee(_depositFeeInBips: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        updateFeePool(_newFeePool: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        updatePoolFee(_poolFeeInBips: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        withdraw(_to: PromiseOrValue<string>, _kToken: PromiseOrValue<string>, _kTokenAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
    };
    BIPS_BASE(overrides?: CallOverrides): Promise<BigNumber>;
    DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>;
    ETHEREUM(overrides?: CallOverrides): Promise<string>;
    OPERATOR_ROLE(overrides?: CallOverrides): Promise<string>;
    adapterBorrow(_token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    adapterLimits(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    adapterLoanedAmount(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    adapterRepay(_adapter: PromiseOrValue<string>, _token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    addOperator(account: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    blacklistRecoverableToken(_token: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    borrow(_token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    borrowableBalance(_token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    borrower(overrides?: CallOverrides): Promise<string>;
    deposit(_token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    depositFeeInBips(overrides?: CallOverrides): Promise<BigNumber>;
    getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
    grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    isOperator(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    kToken(_token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
    kTokens(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
    loanedAmount(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    migrate(_newLP: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    pause(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    paused(overrides?: CallOverrides): Promise<boolean>;
    poolFeeInBips(overrides?: CallOverrides): Promise<BigNumber>;
    recoverTokens(_token: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    register(_kToken: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    registeredKTokens(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    registeredTokens(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    renounceOperator(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
    totalValueLocked(_token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    underlyingBalance(_token: PromiseOrValue<string>, _owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    unpause(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    updateAdapterLimit(_adapter: PromiseOrValue<string>, _limitInBips: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    updateDepositFee(_depositFeeInBips: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    updateFeePool(_newFeePool: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    updatePoolFee(_poolFeeInBips: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    withdraw(_to: PromiseOrValue<string>, _kToken: PromiseOrValue<string>, _kTokenAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    callStatic: {
        BIPS_BASE(overrides?: CallOverrides): Promise<BigNumber>;
        DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<string>;
        ETHEREUM(overrides?: CallOverrides): Promise<string>;
        OPERATOR_ROLE(overrides?: CallOverrides): Promise<string>;
        adapterBorrow(_token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        adapterLimits(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        adapterLoanedAmount(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        adapterRepay(_adapter: PromiseOrValue<string>, _token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        addOperator(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        blacklistRecoverableToken(_token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        borrow(_token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        borrowableBalance(_token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        borrower(overrides?: CallOverrides): Promise<string>;
        deposit(_token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        depositFeeInBips(overrides?: CallOverrides): Promise<BigNumber>;
        getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<string>;
        grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        isOperator(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        kToken(_token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
        kTokens(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string>;
        loanedAmount(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        migrate(_newLP: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        pause(overrides?: CallOverrides): Promise<void>;
        paused(overrides?: CallOverrides): Promise<boolean>;
        poolFeeInBips(overrides?: CallOverrides): Promise<BigNumber>;
        recoverTokens(_token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        register(_kToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        registeredKTokens(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        registeredTokens(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        renounceOperator(overrides?: CallOverrides): Promise<void>;
        renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
        totalValueLocked(_token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        underlyingBalance(_token: PromiseOrValue<string>, _owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        unpause(overrides?: CallOverrides): Promise<void>;
        updateAdapterLimit(_adapter: PromiseOrValue<string>, _limitInBips: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        updateDepositFee(_depositFeeInBips: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        updateFeePool(_newFeePool: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        updatePoolFee(_poolFeeInBips: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        withdraw(_to: PromiseOrValue<string>, _kToken: PromiseOrValue<string>, _kTokenAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
    };
    filters: {
        'AdapterBorrowed(address,address,uint256)'(_adapter?: PromiseOrValue<string> | null, _token?: PromiseOrValue<string> | null, _amount?: null): AdapterBorrowedEventFilter;
        AdapterBorrowed(_adapter?: PromiseOrValue<string> | null, _token?: PromiseOrValue<string> | null, _amount?: null): AdapterBorrowedEventFilter;
        'AdapterLimitChanged(address,uint256,uint256)'(_adapter?: PromiseOrValue<string> | null, _from?: null, _to?: null): AdapterLimitChangedEventFilter;
        AdapterLimitChanged(_adapter?: PromiseOrValue<string> | null, _from?: null, _to?: null): AdapterLimitChangedEventFilter;
        'AdapterRepaid(address,address,uint256)'(_adapter?: PromiseOrValue<string> | null, _token?: PromiseOrValue<string> | null, _amount?: null): AdapterRepaidEventFilter;
        AdapterRepaid(_adapter?: PromiseOrValue<string> | null, _token?: PromiseOrValue<string> | null, _amount?: null): AdapterRepaidEventFilter;
        'Borrowed(address,address,uint256,uint256)'(_borrower?: PromiseOrValue<string> | null, _token?: PromiseOrValue<string> | null, _amount?: null, _fee?: null): BorrowedEventFilter;
        Borrowed(_borrower?: PromiseOrValue<string> | null, _token?: PromiseOrValue<string> | null, _amount?: null, _fee?: null): BorrowedEventFilter;
        'Deposited(address,address,uint256,uint256)'(_depositor?: PromiseOrValue<string> | null, _token?: PromiseOrValue<string> | null, _amount?: null, _mintAmount?: null): DepositedEventFilter;
        Deposited(_depositor?: PromiseOrValue<string> | null, _token?: PromiseOrValue<string> | null, _amount?: null, _mintAmount?: null): DepositedEventFilter;
        'EtherReceived(address,uint256)'(_from?: PromiseOrValue<string> | null, _amount?: null): EtherReceivedEventFilter;
        EtherReceived(_from?: PromiseOrValue<string> | null, _amount?: null): EtherReceivedEventFilter;
        'OperatorAdded(address)'(account?: PromiseOrValue<string> | null): OperatorAddedEventFilter;
        OperatorAdded(account?: PromiseOrValue<string> | null): OperatorAddedEventFilter;
        'OperatorRemoved(address)'(account?: PromiseOrValue<string> | null): OperatorRemovedEventFilter;
        OperatorRemoved(account?: PromiseOrValue<string> | null): OperatorRemovedEventFilter;
        'Paused(address)'(account?: null): PausedEventFilter;
        Paused(account?: null): PausedEventFilter;
        'RoleAdminChanged(bytes32,bytes32,bytes32)'(role?: PromiseOrValue<BytesLike> | null, previousAdminRole?: PromiseOrValue<BytesLike> | null, newAdminRole?: PromiseOrValue<BytesLike> | null): RoleAdminChangedEventFilter;
        RoleAdminChanged(role?: PromiseOrValue<BytesLike> | null, previousAdminRole?: PromiseOrValue<BytesLike> | null, newAdminRole?: PromiseOrValue<BytesLike> | null): RoleAdminChangedEventFilter;
        'RoleGranted(bytes32,address,address)'(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleGrantedEventFilter;
        RoleGranted(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleGrantedEventFilter;
        'RoleRevoked(bytes32,address,address)'(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleRevokedEventFilter;
        RoleRevoked(role?: PromiseOrValue<BytesLike> | null, account?: PromiseOrValue<string> | null, sender?: PromiseOrValue<string> | null): RoleRevokedEventFilter;
        'Unpaused(address)'(account?: null): UnpausedEventFilter;
        Unpaused(account?: null): UnpausedEventFilter;
        'Withdrew(address,address,address,uint256,uint256)'(_reciever?: PromiseOrValue<string> | null, _withdrawer?: PromiseOrValue<string> | null, _token?: PromiseOrValue<string> | null, _amount?: null, _burnAmount?: null): WithdrewEventFilter;
        Withdrew(_reciever?: PromiseOrValue<string> | null, _withdrawer?: PromiseOrValue<string> | null, _token?: PromiseOrValue<string> | null, _amount?: null, _burnAmount?: null): WithdrewEventFilter;
    };
    estimateGas: {
        BIPS_BASE(overrides?: CallOverrides): Promise<BigNumber>;
        DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<BigNumber>;
        ETHEREUM(overrides?: CallOverrides): Promise<BigNumber>;
        OPERATOR_ROLE(overrides?: CallOverrides): Promise<BigNumber>;
        adapterBorrow(_token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        adapterLimits(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        adapterLoanedAmount(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        adapterRepay(_adapter: PromiseOrValue<string>, _token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        addOperator(account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        blacklistRecoverableToken(_token: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        borrow(_token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        borrowableBalance(_token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        borrower(overrides?: CallOverrides): Promise<BigNumber>;
        deposit(_token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        depositFeeInBips(overrides?: CallOverrides): Promise<BigNumber>;
        getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
        grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        isOperator(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        kToken(_token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        kTokens(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        loanedAmount(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        migrate(_newLP: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        pause(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        paused(overrides?: CallOverrides): Promise<BigNumber>;
        poolFeeInBips(overrides?: CallOverrides): Promise<BigNumber>;
        recoverTokens(_token: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        register(_kToken: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        registeredKTokens(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        registeredTokens(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        renounceOperator(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
        totalValueLocked(_token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        underlyingBalance(_token: PromiseOrValue<string>, _owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        unpause(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        updateAdapterLimit(_adapter: PromiseOrValue<string>, _limitInBips: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        updateDepositFee(_depositFeeInBips: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        updateFeePool(_newFeePool: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        updatePoolFee(_poolFeeInBips: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        withdraw(_to: PromiseOrValue<string>, _kToken: PromiseOrValue<string>, _kTokenAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
    };
    populateTransaction: {
        BIPS_BASE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        DEFAULT_ADMIN_ROLE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        ETHEREUM(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        OPERATOR_ROLE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        adapterBorrow(_token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        adapterLimits(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        adapterLoanedAmount(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        adapterRepay(_adapter: PromiseOrValue<string>, _token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        addOperator(account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        blacklistRecoverableToken(_token: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        borrow(_token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        borrowableBalance(_token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        borrower(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        deposit(_token: PromiseOrValue<string>, _amount: PromiseOrValue<BigNumberish>, overrides?: PayableOverrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        depositFeeInBips(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getRoleAdmin(role: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        grantRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        hasRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isOperator(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        kToken(_token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        kTokens(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        loanedAmount(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        migrate(_newLP: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        pause(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        paused(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        poolFeeInBips(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        recoverTokens(_token: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        register(_kToken: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        registeredKTokens(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        registeredTokens(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        renounceOperator(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        renounceRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        revokeRole(role: PromiseOrValue<BytesLike>, account: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        totalValueLocked(_token: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        underlyingBalance(_token: PromiseOrValue<string>, _owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        unpause(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        updateAdapterLimit(_adapter: PromiseOrValue<string>, _limitInBips: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        updateDepositFee(_depositFeeInBips: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        updateFeePool(_newFeePool: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        updatePoolFee(_poolFeeInBips: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        withdraw(_to: PromiseOrValue<string>, _kToken: PromiseOrValue<string>, _kTokenAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
    };
}
