import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from 'ethers';
import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi';
import type { Listener, Provider } from '@ethersproject/providers';
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common';
export interface QiDaoVaultInfoInterface extends utils.Interface {
    functions: {
        '_meta()': FunctionFragment;
        '_minimumCollateralPercentage()': FunctionFragment;
        'approve(address,uint256)': FunctionFragment;
        'balanceOf(address)': FunctionFragment;
        'base()': FunctionFragment;
        'baseURI()': FunctionFragment;
        'borrowToken(uint256,uint256)': FunctionFragment;
        'changeEthPriceSource(address)': FunctionFragment;
        'checkCollateralPercentage(uint256)': FunctionFragment;
        'checkCost(uint256)': FunctionFragment;
        'checkExtract(uint256)': FunctionFragment;
        'checkLiquidation(uint256)': FunctionFragment;
        'closingFee()': FunctionFragment;
        'collateral()': FunctionFragment;
        'collateralDecimals()': FunctionFragment;
        'createVault()': FunctionFragment;
        'debtRatio()': FunctionFragment;
        'depositCollateral(uint256,uint256)': FunctionFragment;
        'destroyVault(uint256)': FunctionFragment;
        'ethPriceSource()': FunctionFragment;
        'exists(uint256)': FunctionFragment;
        'gainRatio()': FunctionFragment;
        'getApproved(uint256)': FunctionFragment;
        'getClosingFee()': FunctionFragment;
        'getDebtCeiling()': FunctionFragment;
        'getEthPriceSource()': FunctionFragment;
        'getOpeningFee()': FunctionFragment;
        'getPaid()': FunctionFragment;
        'getTokenPriceSource()': FunctionFragment;
        'isApprovedForAll(address,address)': FunctionFragment;
        'isOwner()': FunctionFragment;
        'liquidateVault(uint256)': FunctionFragment;
        'mai()': FunctionFragment;
        'maticDebt(address)': FunctionFragment;
        'name()': FunctionFragment;
        'openingFee()': FunctionFragment;
        'owner()': FunctionFragment;
        'ownerOf(uint256)': FunctionFragment;
        'payBackToken(uint256,uint256)': FunctionFragment;
        'renounceOwnership()': FunctionFragment;
        'safeTransferFrom(address,address,uint256)': FunctionFragment;
        'safeTransferFrom(address,address,uint256,bytes)': FunctionFragment;
        'setApprovalForAll(address,bool)': FunctionFragment;
        'setBaseURI(string)': FunctionFragment;
        'setClosingFee(uint256)': FunctionFragment;
        'setDebtRatio(uint256)': FunctionFragment;
        'setGainRatio(uint256)': FunctionFragment;
        'setMinCollateralRatio(uint256)': FunctionFragment;
        'setOpeningFee(uint256)': FunctionFragment;
        'setStabilityPool(address)': FunctionFragment;
        'setTokenPeg(uint256)': FunctionFragment;
        'setTreasury(uint256)': FunctionFragment;
        'stabilityPool()': FunctionFragment;
        'supportsInterface(bytes4)': FunctionFragment;
        'symbol()': FunctionFragment;
        'tokenByIndex(uint256)': FunctionFragment;
        'tokenOfOwnerByIndex(address,uint256)': FunctionFragment;
        'tokenPeg()': FunctionFragment;
        'tokenURI(uint256)': FunctionFragment;
        'totalSupply()': FunctionFragment;
        'transferFrom(address,address,uint256)': FunctionFragment;
        'transferOwnership(address)': FunctionFragment;
        'transferToken(uint256)': FunctionFragment;
        'transferToken(address,address,uint256)': FunctionFragment;
        'treasury()': FunctionFragment;
        'vaultCollateral(uint256)': FunctionFragment;
        'vaultCount()': FunctionFragment;
        'vaultDebt(uint256)': FunctionFragment;
        'withdrawCollateral(uint256,uint256)': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: '_meta' | '_minimumCollateralPercentage' | 'approve' | 'balanceOf' | 'base' | 'baseURI' | 'borrowToken' | 'changeEthPriceSource' | 'checkCollateralPercentage' | 'checkCost' | 'checkExtract' | 'checkLiquidation' | 'closingFee' | 'collateral' | 'collateralDecimals' | 'createVault' | 'debtRatio' | 'depositCollateral' | 'destroyVault' | 'ethPriceSource' | 'exists' | 'gainRatio' | 'getApproved' | 'getClosingFee' | 'getDebtCeiling' | 'getEthPriceSource' | 'getOpeningFee' | 'getPaid' | 'getTokenPriceSource' | 'isApprovedForAll' | 'isOwner' | 'liquidateVault' | 'mai' | 'maticDebt' | 'name' | 'openingFee' | 'owner' | 'ownerOf' | 'payBackToken' | 'renounceOwnership' | 'safeTransferFrom(address,address,uint256)' | 'safeTransferFrom(address,address,uint256,bytes)' | 'setApprovalForAll' | 'setBaseURI' | 'setClosingFee' | 'setDebtRatio' | 'setGainRatio' | 'setMinCollateralRatio' | 'setOpeningFee' | 'setStabilityPool' | 'setTokenPeg' | 'setTreasury' | 'stabilityPool' | 'supportsInterface' | 'symbol' | 'tokenByIndex' | 'tokenOfOwnerByIndex' | 'tokenPeg' | 'tokenURI' | 'totalSupply' | 'transferFrom' | 'transferOwnership' | 'transferToken(uint256)' | 'transferToken(address,address,uint256)' | 'treasury' | 'vaultCollateral' | 'vaultCount' | 'vaultDebt' | 'withdrawCollateral'): FunctionFragment;
    encodeFunctionData(functionFragment: '_meta', values?: undefined): string;
    encodeFunctionData(functionFragment: '_minimumCollateralPercentage', values?: undefined): string;
    encodeFunctionData(functionFragment: 'approve', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'balanceOf', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'base', values?: undefined): string;
    encodeFunctionData(functionFragment: 'baseURI', values?: undefined): string;
    encodeFunctionData(functionFragment: 'borrowToken', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'changeEthPriceSource', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'checkCollateralPercentage', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'checkCost', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'checkExtract', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'checkLiquidation', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'closingFee', values?: undefined): string;
    encodeFunctionData(functionFragment: 'collateral', values?: undefined): string;
    encodeFunctionData(functionFragment: 'collateralDecimals', values?: undefined): string;
    encodeFunctionData(functionFragment: 'createVault', values?: undefined): string;
    encodeFunctionData(functionFragment: 'debtRatio', values?: undefined): string;
    encodeFunctionData(functionFragment: 'depositCollateral', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'destroyVault', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'ethPriceSource', values?: undefined): string;
    encodeFunctionData(functionFragment: 'exists', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'gainRatio', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getApproved', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'getClosingFee', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getDebtCeiling', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getEthPriceSource', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getOpeningFee', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getPaid', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getTokenPriceSource', values?: undefined): string;
    encodeFunctionData(functionFragment: 'isApprovedForAll', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'isOwner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'liquidateVault', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'mai', values?: undefined): string;
    encodeFunctionData(functionFragment: 'maticDebt', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'name', values?: undefined): string;
    encodeFunctionData(functionFragment: 'openingFee', values?: undefined): string;
    encodeFunctionData(functionFragment: 'owner', values?: undefined): string;
    encodeFunctionData(functionFragment: 'ownerOf', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'payBackToken', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'renounceOwnership', values?: undefined): string;
    encodeFunctionData(functionFragment: 'safeTransferFrom(address,address,uint256)', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'safeTransferFrom(address,address,uint256,bytes)', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>, PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'setApprovalForAll', values: [PromiseOrValue<string>, PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'setBaseURI', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setClosingFee', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setDebtRatio', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setGainRatio', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setMinCollateralRatio', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setOpeningFee', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setStabilityPool', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setTokenPeg', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setTreasury', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'stabilityPool', values?: undefined): string;
    encodeFunctionData(functionFragment: 'supportsInterface', values: [PromiseOrValue<BytesLike>]): string;
    encodeFunctionData(functionFragment: 'symbol', values?: undefined): string;
    encodeFunctionData(functionFragment: 'tokenByIndex', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'tokenOfOwnerByIndex', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'tokenPeg', values?: undefined): string;
    encodeFunctionData(functionFragment: 'tokenURI', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'totalSupply', values?: undefined): string;
    encodeFunctionData(functionFragment: 'transferFrom', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'transferOwnership', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'transferToken(uint256)', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'transferToken(address,address,uint256)', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'treasury', values?: undefined): string;
    encodeFunctionData(functionFragment: 'vaultCollateral', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'vaultCount', values?: undefined): string;
    encodeFunctionData(functionFragment: 'vaultDebt', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'withdrawCollateral', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<BigNumberish>]): string;
    decodeFunctionResult(functionFragment: '_meta', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_minimumCollateralPercentage', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'approve', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'balanceOf', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'base', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'baseURI', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'borrowToken', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'changeEthPriceSource', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'checkCollateralPercentage', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'checkCost', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'checkExtract', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'checkLiquidation', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'closingFee', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'collateral', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'collateralDecimals', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'createVault', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'debtRatio', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'depositCollateral', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'destroyVault', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ethPriceSource', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'exists', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'gainRatio', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getApproved', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getClosingFee', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getDebtCeiling', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getEthPriceSource', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getOpeningFee', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getPaid', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getTokenPriceSource', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isApprovedForAll', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isOwner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'liquidateVault', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'mai', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'maticDebt', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'name', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'openingFee', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'owner', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ownerOf', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'payBackToken', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'renounceOwnership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'safeTransferFrom(address,address,uint256)', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'safeTransferFrom(address,address,uint256,bytes)', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setApprovalForAll', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setBaseURI', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setClosingFee', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setDebtRatio', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setGainRatio', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setMinCollateralRatio', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setOpeningFee', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setStabilityPool', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setTokenPeg', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setTreasury', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'stabilityPool', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'supportsInterface', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'symbol', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'tokenByIndex', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'tokenOfOwnerByIndex', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'tokenPeg', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'tokenURI', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'totalSupply', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transferFrom', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transferOwnership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transferToken(uint256)', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transferToken(address,address,uint256)', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'treasury', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'vaultCollateral', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'vaultCount', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'vaultDebt', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'withdrawCollateral', data: BytesLike): Result;
    events: {
        'Approval(address,address,uint256)': EventFragment;
        'ApprovalForAll(address,address,bool)': EventFragment;
        'BorrowToken(uint256,uint256)': EventFragment;
        'CreateVault(uint256,address)': EventFragment;
        'DepositCollateral(uint256,uint256)': EventFragment;
        'DestroyVault(uint256)': EventFragment;
        'LiquidateVault(uint256,address,address,uint256,uint256,uint256)': EventFragment;
        'OwnershipTransferred(address,address)': EventFragment;
        'PayBackToken(uint256,uint256,uint256)': EventFragment;
        'Transfer(address,address,uint256)': EventFragment;
        'TransferVault(uint256,address,address)': EventFragment;
        'WithdrawCollateral(uint256,uint256)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'Approval'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'ApprovalForAll'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'BorrowToken'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'CreateVault'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'DepositCollateral'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'DestroyVault'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'LiquidateVault'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'OwnershipTransferred'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'PayBackToken'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'Transfer'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'TransferVault'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'WithdrawCollateral'): EventFragment;
}
export interface ApprovalEventObject {
    owner: string;
    approved: string;
    tokenId: BigNumber;
}
export declare type ApprovalEvent = TypedEvent<[string, string, BigNumber], ApprovalEventObject>;
export declare type ApprovalEventFilter = TypedEventFilter<ApprovalEvent>;
export interface ApprovalForAllEventObject {
    owner: string;
    operator: string;
    approved: boolean;
}
export declare type ApprovalForAllEvent = TypedEvent<[string, string, boolean], ApprovalForAllEventObject>;
export declare type ApprovalForAllEventFilter = TypedEventFilter<ApprovalForAllEvent>;
export interface BorrowTokenEventObject {
    vaultID: BigNumber;
    amount: BigNumber;
}
export declare type BorrowTokenEvent = TypedEvent<[BigNumber, BigNumber], BorrowTokenEventObject>;
export declare type BorrowTokenEventFilter = TypedEventFilter<BorrowTokenEvent>;
export interface CreateVaultEventObject {
    vaultID: BigNumber;
    creator: string;
}
export declare type CreateVaultEvent = TypedEvent<[BigNumber, string], CreateVaultEventObject>;
export declare type CreateVaultEventFilter = TypedEventFilter<CreateVaultEvent>;
export interface DepositCollateralEventObject {
    vaultID: BigNumber;
    amount: BigNumber;
}
export declare type DepositCollateralEvent = TypedEvent<[BigNumber, BigNumber], DepositCollateralEventObject>;
export declare type DepositCollateralEventFilter = TypedEventFilter<DepositCollateralEvent>;
export interface DestroyVaultEventObject {
    vaultID: BigNumber;
}
export declare type DestroyVaultEvent = TypedEvent<[BigNumber], DestroyVaultEventObject>;
export declare type DestroyVaultEventFilter = TypedEventFilter<DestroyVaultEvent>;
export interface LiquidateVaultEventObject {
    vaultID: BigNumber;
    owner: string;
    buyer: string;
    debtRepaid: BigNumber;
    collateralLiquidated: BigNumber;
    closingFee: BigNumber;
}
export declare type LiquidateVaultEvent = TypedEvent<[
    BigNumber,
    string,
    string,
    BigNumber,
    BigNumber,
    BigNumber
], LiquidateVaultEventObject>;
export declare type LiquidateVaultEventFilter = TypedEventFilter<LiquidateVaultEvent>;
export interface OwnershipTransferredEventObject {
    previousOwner: string;
    newOwner: string;
}
export declare type OwnershipTransferredEvent = TypedEvent<[string, string], OwnershipTransferredEventObject>;
export declare type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
export interface PayBackTokenEventObject {
    vaultID: BigNumber;
    amount: BigNumber;
    closingFee: BigNumber;
}
export declare type PayBackTokenEvent = TypedEvent<[BigNumber, BigNumber, BigNumber], PayBackTokenEventObject>;
export declare type PayBackTokenEventFilter = TypedEventFilter<PayBackTokenEvent>;
export interface TransferEventObject {
    from: string;
    to: string;
    tokenId: BigNumber;
}
export declare type TransferEvent = TypedEvent<[string, string, BigNumber], TransferEventObject>;
export declare type TransferEventFilter = TypedEventFilter<TransferEvent>;
export interface TransferVaultEventObject {
    vaultID: BigNumber;
    from: string;
    to: string;
}
export declare type TransferVaultEvent = TypedEvent<[BigNumber, string, string], TransferVaultEventObject>;
export declare type TransferVaultEventFilter = TypedEventFilter<TransferVaultEvent>;
export interface WithdrawCollateralEventObject {
    vaultID: BigNumber;
    amount: BigNumber;
}
export declare type WithdrawCollateralEvent = TypedEvent<[BigNumber, BigNumber], WithdrawCollateralEventObject>;
export declare type WithdrawCollateralEventFilter = TypedEventFilter<WithdrawCollateralEvent>;
export interface QiDaoVaultInfo extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: QiDaoVaultInfoInterface;
    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: {
        _meta(overrides?: CallOverrides): Promise<[string]>;
        _minimumCollateralPercentage(overrides?: CallOverrides): Promise<[BigNumber]>;
        approve(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        balanceOf(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        base(overrides?: CallOverrides): Promise<[string]>;
        baseURI(overrides?: CallOverrides): Promise<[string]>;
        borrowToken(vaultID: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        changeEthPriceSource(ethPriceSourceAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        checkCollateralPercentage(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        checkCost(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        checkExtract(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        checkLiquidation(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[boolean]>;
        closingFee(overrides?: CallOverrides): Promise<[BigNumber]>;
        collateral(overrides?: CallOverrides): Promise<[string]>;
        collateralDecimals(overrides?: CallOverrides): Promise<[BigNumber]>;
        createVault(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        debtRatio(overrides?: CallOverrides): Promise<[BigNumber]>;
        depositCollateral(vaultID: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        destroyVault(vaultID: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        ethPriceSource(overrides?: CallOverrides): Promise<[string]>;
        exists(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[boolean]>;
        gainRatio(overrides?: CallOverrides): Promise<[BigNumber]>;
        getApproved(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        getClosingFee(overrides?: CallOverrides): Promise<[BigNumber]>;
        getDebtCeiling(overrides?: CallOverrides): Promise<[BigNumber]>;
        getEthPriceSource(overrides?: CallOverrides): Promise<[BigNumber]>;
        getOpeningFee(overrides?: CallOverrides): Promise<[BigNumber]>;
        getPaid(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        getTokenPriceSource(overrides?: CallOverrides): Promise<[BigNumber]>;
        isApprovedForAll(owner: PromiseOrValue<string>, operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        isOwner(overrides?: CallOverrides): Promise<[boolean]>;
        liquidateVault(vaultID: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        mai(overrides?: CallOverrides): Promise<[string]>;
        maticDebt(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        name(overrides?: CallOverrides): Promise<[string]>;
        openingFee(overrides?: CallOverrides): Promise<[BigNumber]>;
        owner(overrides?: CallOverrides): Promise<[string]>;
        ownerOf(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        payBackToken(vaultID: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        'safeTransferFrom(address,address,uint256)'(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        'safeTransferFrom(address,address,uint256,bytes)'(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setApprovalForAll(to: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setBaseURI(baseURI: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setClosingFee(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setDebtRatio(_debtRatio: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setGainRatio(_gainRatio: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setMinCollateralRatio(minimumCollateralPercentage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setOpeningFee(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setStabilityPool(_pool: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setTokenPeg(_tokenPeg: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setTreasury(_treasury: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        stabilityPool(overrides?: CallOverrides): Promise<[string]>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<[boolean]>;
        symbol(overrides?: CallOverrides): Promise<[string]>;
        tokenByIndex(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        tokenOfOwnerByIndex(owner: PromiseOrValue<string>, index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        tokenPeg(overrides?: CallOverrides): Promise<[BigNumber]>;
        tokenURI(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>;
        transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        'transferToken(uint256)'(amountToken: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        'transferToken(address,address,uint256)'(to: PromiseOrValue<string>, token: PromiseOrValue<string>, amountToken: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        treasury(overrides?: CallOverrides): Promise<[BigNumber]>;
        vaultCollateral(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        vaultCount(overrides?: CallOverrides): Promise<[BigNumber]>;
        vaultDebt(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        withdrawCollateral(vaultID: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
    };
    _meta(overrides?: CallOverrides): Promise<string>;
    _minimumCollateralPercentage(overrides?: CallOverrides): Promise<BigNumber>;
    approve(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    balanceOf(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    base(overrides?: CallOverrides): Promise<string>;
    baseURI(overrides?: CallOverrides): Promise<string>;
    borrowToken(vaultID: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    changeEthPriceSource(ethPriceSourceAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    checkCollateralPercentage(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    checkCost(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    checkExtract(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    checkLiquidation(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
    closingFee(overrides?: CallOverrides): Promise<BigNumber>;
    collateral(overrides?: CallOverrides): Promise<string>;
    collateralDecimals(overrides?: CallOverrides): Promise<BigNumber>;
    createVault(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    debtRatio(overrides?: CallOverrides): Promise<BigNumber>;
    depositCollateral(vaultID: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    destroyVault(vaultID: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    ethPriceSource(overrides?: CallOverrides): Promise<string>;
    exists(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
    gainRatio(overrides?: CallOverrides): Promise<BigNumber>;
    getApproved(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    getClosingFee(overrides?: CallOverrides): Promise<BigNumber>;
    getDebtCeiling(overrides?: CallOverrides): Promise<BigNumber>;
    getEthPriceSource(overrides?: CallOverrides): Promise<BigNumber>;
    getOpeningFee(overrides?: CallOverrides): Promise<BigNumber>;
    getPaid(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    getTokenPriceSource(overrides?: CallOverrides): Promise<BigNumber>;
    isApprovedForAll(owner: PromiseOrValue<string>, operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    isOwner(overrides?: CallOverrides): Promise<boolean>;
    liquidateVault(vaultID: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    mai(overrides?: CallOverrides): Promise<string>;
    maticDebt(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    name(overrides?: CallOverrides): Promise<string>;
    openingFee(overrides?: CallOverrides): Promise<BigNumber>;
    owner(overrides?: CallOverrides): Promise<string>;
    ownerOf(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    payBackToken(vaultID: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    renounceOwnership(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    'safeTransferFrom(address,address,uint256)'(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    'safeTransferFrom(address,address,uint256,bytes)'(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setApprovalForAll(to: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setBaseURI(baseURI: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setClosingFee(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setDebtRatio(_debtRatio: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setGainRatio(_gainRatio: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setMinCollateralRatio(minimumCollateralPercentage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setOpeningFee(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setStabilityPool(_pool: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setTokenPeg(_tokenPeg: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setTreasury(_treasury: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    stabilityPool(overrides?: CallOverrides): Promise<string>;
    supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
    symbol(overrides?: CallOverrides): Promise<string>;
    tokenByIndex(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    tokenOfOwnerByIndex(owner: PromiseOrValue<string>, index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    tokenPeg(overrides?: CallOverrides): Promise<BigNumber>;
    tokenURI(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
    transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    'transferToken(uint256)'(amountToken: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    'transferToken(address,address,uint256)'(to: PromiseOrValue<string>, token: PromiseOrValue<string>, amountToken: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    treasury(overrides?: CallOverrides): Promise<BigNumber>;
    vaultCollateral(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    vaultCount(overrides?: CallOverrides): Promise<BigNumber>;
    vaultDebt(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    withdrawCollateral(vaultID: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    callStatic: {
        _meta(overrides?: CallOverrides): Promise<string>;
        _minimumCollateralPercentage(overrides?: CallOverrides): Promise<BigNumber>;
        approve(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        balanceOf(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        base(overrides?: CallOverrides): Promise<string>;
        baseURI(overrides?: CallOverrides): Promise<string>;
        borrowToken(vaultID: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        changeEthPriceSource(ethPriceSourceAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        checkCollateralPercentage(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        checkCost(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        checkExtract(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        checkLiquidation(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        closingFee(overrides?: CallOverrides): Promise<BigNumber>;
        collateral(overrides?: CallOverrides): Promise<string>;
        collateralDecimals(overrides?: CallOverrides): Promise<BigNumber>;
        createVault(overrides?: CallOverrides): Promise<BigNumber>;
        debtRatio(overrides?: CallOverrides): Promise<BigNumber>;
        depositCollateral(vaultID: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        destroyVault(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        ethPriceSource(overrides?: CallOverrides): Promise<string>;
        exists(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<boolean>;
        gainRatio(overrides?: CallOverrides): Promise<BigNumber>;
        getApproved(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        getClosingFee(overrides?: CallOverrides): Promise<BigNumber>;
        getDebtCeiling(overrides?: CallOverrides): Promise<BigNumber>;
        getEthPriceSource(overrides?: CallOverrides): Promise<BigNumber>;
        getOpeningFee(overrides?: CallOverrides): Promise<BigNumber>;
        getPaid(overrides?: CallOverrides): Promise<void>;
        getTokenPriceSource(overrides?: CallOverrides): Promise<BigNumber>;
        isApprovedForAll(owner: PromiseOrValue<string>, operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        isOwner(overrides?: CallOverrides): Promise<boolean>;
        liquidateVault(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        mai(overrides?: CallOverrides): Promise<string>;
        maticDebt(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        name(overrides?: CallOverrides): Promise<string>;
        openingFee(overrides?: CallOverrides): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<string>;
        ownerOf(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        payBackToken(vaultID: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        renounceOwnership(overrides?: CallOverrides): Promise<void>;
        'safeTransferFrom(address,address,uint256)'(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        'safeTransferFrom(address,address,uint256,bytes)'(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
        setApprovalForAll(to: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        setBaseURI(baseURI: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setClosingFee(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setDebtRatio(_debtRatio: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setGainRatio(_gainRatio: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setMinCollateralRatio(minimumCollateralPercentage: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setOpeningFee(amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setStabilityPool(_pool: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setTokenPeg(_tokenPeg: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setTreasury(_treasury: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        stabilityPool(overrides?: CallOverrides): Promise<string>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<boolean>;
        symbol(overrides?: CallOverrides): Promise<string>;
        tokenByIndex(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        tokenOfOwnerByIndex(owner: PromiseOrValue<string>, index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        tokenPeg(overrides?: CallOverrides): Promise<BigNumber>;
        tokenURI(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
        transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        'transferToken(uint256)'(amountToken: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        'transferToken(address,address,uint256)'(to: PromiseOrValue<string>, token: PromiseOrValue<string>, amountToken: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        treasury(overrides?: CallOverrides): Promise<BigNumber>;
        vaultCollateral(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        vaultCount(overrides?: CallOverrides): Promise<BigNumber>;
        vaultDebt(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        withdrawCollateral(vaultID: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
    };
    filters: {
        'Approval(address,address,uint256)'(owner?: PromiseOrValue<string> | null, approved?: PromiseOrValue<string> | null, tokenId?: PromiseOrValue<BigNumberish> | null): ApprovalEventFilter;
        Approval(owner?: PromiseOrValue<string> | null, approved?: PromiseOrValue<string> | null, tokenId?: PromiseOrValue<BigNumberish> | null): ApprovalEventFilter;
        'ApprovalForAll(address,address,bool)'(owner?: PromiseOrValue<string> | null, operator?: PromiseOrValue<string> | null, approved?: null): ApprovalForAllEventFilter;
        ApprovalForAll(owner?: PromiseOrValue<string> | null, operator?: PromiseOrValue<string> | null, approved?: null): ApprovalForAllEventFilter;
        'BorrowToken(uint256,uint256)'(vaultID?: null, amount?: null): BorrowTokenEventFilter;
        BorrowToken(vaultID?: null, amount?: null): BorrowTokenEventFilter;
        'CreateVault(uint256,address)'(vaultID?: null, creator?: null): CreateVaultEventFilter;
        CreateVault(vaultID?: null, creator?: null): CreateVaultEventFilter;
        'DepositCollateral(uint256,uint256)'(vaultID?: null, amount?: null): DepositCollateralEventFilter;
        DepositCollateral(vaultID?: null, amount?: null): DepositCollateralEventFilter;
        'DestroyVault(uint256)'(vaultID?: null): DestroyVaultEventFilter;
        DestroyVault(vaultID?: null): DestroyVaultEventFilter;
        'LiquidateVault(uint256,address,address,uint256,uint256,uint256)'(vaultID?: null, owner?: null, buyer?: null, debtRepaid?: null, collateralLiquidated?: null, closingFee?: null): LiquidateVaultEventFilter;
        LiquidateVault(vaultID?: null, owner?: null, buyer?: null, debtRepaid?: null, collateralLiquidated?: null, closingFee?: null): LiquidateVaultEventFilter;
        'OwnershipTransferred(address,address)'(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
        OwnershipTransferred(previousOwner?: PromiseOrValue<string> | null, newOwner?: PromiseOrValue<string> | null): OwnershipTransferredEventFilter;
        'PayBackToken(uint256,uint256,uint256)'(vaultID?: null, amount?: null, closingFee?: null): PayBackTokenEventFilter;
        PayBackToken(vaultID?: null, amount?: null, closingFee?: null): PayBackTokenEventFilter;
        'Transfer(address,address,uint256)'(from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, tokenId?: PromiseOrValue<BigNumberish> | null): TransferEventFilter;
        Transfer(from?: PromiseOrValue<string> | null, to?: PromiseOrValue<string> | null, tokenId?: PromiseOrValue<BigNumberish> | null): TransferEventFilter;
        'TransferVault(uint256,address,address)'(vaultID?: null, from?: null, to?: null): TransferVaultEventFilter;
        TransferVault(vaultID?: null, from?: null, to?: null): TransferVaultEventFilter;
        'WithdrawCollateral(uint256,uint256)'(vaultID?: null, amount?: null): WithdrawCollateralEventFilter;
        WithdrawCollateral(vaultID?: null, amount?: null): WithdrawCollateralEventFilter;
    };
    estimateGas: {
        _meta(overrides?: CallOverrides): Promise<BigNumber>;
        _minimumCollateralPercentage(overrides?: CallOverrides): Promise<BigNumber>;
        approve(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        balanceOf(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        base(overrides?: CallOverrides): Promise<BigNumber>;
        baseURI(overrides?: CallOverrides): Promise<BigNumber>;
        borrowToken(vaultID: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        changeEthPriceSource(ethPriceSourceAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        checkCollateralPercentage(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        checkCost(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        checkExtract(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        checkLiquidation(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        closingFee(overrides?: CallOverrides): Promise<BigNumber>;
        collateral(overrides?: CallOverrides): Promise<BigNumber>;
        collateralDecimals(overrides?: CallOverrides): Promise<BigNumber>;
        createVault(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        debtRatio(overrides?: CallOverrides): Promise<BigNumber>;
        depositCollateral(vaultID: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        destroyVault(vaultID: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        ethPriceSource(overrides?: CallOverrides): Promise<BigNumber>;
        exists(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        gainRatio(overrides?: CallOverrides): Promise<BigNumber>;
        getApproved(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        getClosingFee(overrides?: CallOverrides): Promise<BigNumber>;
        getDebtCeiling(overrides?: CallOverrides): Promise<BigNumber>;
        getEthPriceSource(overrides?: CallOverrides): Promise<BigNumber>;
        getOpeningFee(overrides?: CallOverrides): Promise<BigNumber>;
        getPaid(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        getTokenPriceSource(overrides?: CallOverrides): Promise<BigNumber>;
        isApprovedForAll(owner: PromiseOrValue<string>, operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        isOwner(overrides?: CallOverrides): Promise<BigNumber>;
        liquidateVault(vaultID: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        mai(overrides?: CallOverrides): Promise<BigNumber>;
        maticDebt(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        name(overrides?: CallOverrides): Promise<BigNumber>;
        openingFee(overrides?: CallOverrides): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<BigNumber>;
        ownerOf(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        payBackToken(vaultID: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        'safeTransferFrom(address,address,uint256)'(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        'safeTransferFrom(address,address,uint256,bytes)'(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setApprovalForAll(to: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setBaseURI(baseURI: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setClosingFee(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setDebtRatio(_debtRatio: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setGainRatio(_gainRatio: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setMinCollateralRatio(minimumCollateralPercentage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setOpeningFee(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setStabilityPool(_pool: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setTokenPeg(_tokenPeg: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setTreasury(_treasury: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        stabilityPool(overrides?: CallOverrides): Promise<BigNumber>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<BigNumber>;
        symbol(overrides?: CallOverrides): Promise<BigNumber>;
        tokenByIndex(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        tokenOfOwnerByIndex(owner: PromiseOrValue<string>, index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        tokenPeg(overrides?: CallOverrides): Promise<BigNumber>;
        tokenURI(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        totalSupply(overrides?: CallOverrides): Promise<BigNumber>;
        transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        'transferToken(uint256)'(amountToken: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        'transferToken(address,address,uint256)'(to: PromiseOrValue<string>, token: PromiseOrValue<string>, amountToken: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        treasury(overrides?: CallOverrides): Promise<BigNumber>;
        vaultCollateral(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        vaultCount(overrides?: CallOverrides): Promise<BigNumber>;
        vaultDebt(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        withdrawCollateral(vaultID: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
    };
    populateTransaction: {
        _meta(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        _minimumCollateralPercentage(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        approve(to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        balanceOf(owner: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        base(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        baseURI(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        borrowToken(vaultID: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        changeEthPriceSource(ethPriceSourceAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        checkCollateralPercentage(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        checkCost(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        checkExtract(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        checkLiquidation(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        closingFee(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        collateral(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        collateralDecimals(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        createVault(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        debtRatio(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        depositCollateral(vaultID: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        destroyVault(vaultID: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        ethPriceSource(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        exists(vaultID: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        gainRatio(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getApproved(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getClosingFee(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getDebtCeiling(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getEthPriceSource(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getOpeningFee(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getPaid(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        getTokenPriceSource(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isApprovedForAll(owner: PromiseOrValue<string>, operator: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isOwner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        liquidateVault(vaultID: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        mai(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        maticDebt(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        name(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        openingFee(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        ownerOf(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        payBackToken(vaultID: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        renounceOwnership(overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        'safeTransferFrom(address,address,uint256)'(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        'safeTransferFrom(address,address,uint256,bytes)'(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, _data: PromiseOrValue<BytesLike>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setApprovalForAll(to: PromiseOrValue<string>, approved: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setBaseURI(baseURI: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setClosingFee(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setDebtRatio(_debtRatio: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setGainRatio(_gainRatio: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setMinCollateralRatio(minimumCollateralPercentage: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setOpeningFee(amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setStabilityPool(_pool: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setTokenPeg(_tokenPeg: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setTreasury(_treasury: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        stabilityPool(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        supportsInterface(interfaceId: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        symbol(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        tokenByIndex(index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        tokenOfOwnerByIndex(owner: PromiseOrValue<string>, index: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        tokenPeg(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        tokenURI(tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        totalSupply(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        transferFrom(from: PromiseOrValue<string>, to: PromiseOrValue<string>, tokenId: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        transferOwnership(newOwner: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        'transferToken(uint256)'(amountToken: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        'transferToken(address,address,uint256)'(to: PromiseOrValue<string>, token: PromiseOrValue<string>, amountToken: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        treasury(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        vaultCollateral(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        vaultCount(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        vaultDebt(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        withdrawCollateral(vaultID: PromiseOrValue<BigNumberish>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
    };
}
