import { Signer } from "ethers";
import type { Provider } from "@ethersproject/providers";
import type { BorrowingCore, BorrowingCoreInterface } from "../BorrowingCore";
export declare class BorrowingCore__factory {
    static readonly abi: readonly [{
        readonly inputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "constructor";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "_user";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "uint256";
            readonly name: "_vaultId";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "_amount";
            readonly type: "uint256";
        }];
        readonly name: "ColDeposited";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "_user";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "uint256";
            readonly name: "_vaultId";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "_amount";
            readonly type: "uint256";
        }];
        readonly name: "ColWithdrawn";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "_user";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "uint256";
            readonly name: "_vaultId";
            readonly type: "uint256";
        }];
        readonly name: "Liquidated";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "_user";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "uint256";
            readonly name: "_vaultId";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "_amount";
            readonly type: "uint256";
        }];
        readonly name: "StcGenerated";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "_user";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "uint256";
            readonly name: "_vaultId";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "_burnt";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "_surplus";
            readonly type: "uint256";
        }];
        readonly name: "StcRepaid";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "_user";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "uint256";
            readonly name: "_vaultId";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "string";
            readonly name: "_colKey";
            readonly type: "string";
        }];
        readonly name: "VaultCreated";
        readonly type: "event";
    }, {
        readonly inputs: readonly [];
        readonly name: "aggregatedMintedAmount";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "string";
            readonly name: "";
            readonly type: "string";
        }];
        readonly name: "aggregatedNormalizedDebts";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "string";
            readonly name: "";
            readonly type: "string";
        }];
        readonly name: "compoundRateKeeper";
        readonly outputs: readonly [{
            readonly internalType: "contract CompoundRateKeeper";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly name: "totalStcBackedByCol";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly name: "userVaults";
        readonly outputs: readonly [{
            readonly internalType: "string";
            readonly name: "colKey";
            readonly type: "string";
        }, {
            readonly internalType: "uint256";
            readonly name: "colAsset";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "normalizedDebt";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "mintedAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "bool";
            readonly name: "isLiquidated";
            readonly type: "bool";
        }, {
            readonly internalType: "uint256";
            readonly name: "liquidationFullDebt";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly name: "userVaultsCount";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "_registry";
            readonly type: "address";
        }, {
            readonly internalType: "string";
            readonly name: "_stc";
            readonly type: "string";
        }];
        readonly name: "initialize";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "string";
            readonly name: "_colKey";
            readonly type: "string";
        }];
        readonly name: "createVault";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "_vaultId";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_amount";
            readonly type: "uint256";
        }];
        readonly name: "depositCol";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "_vaultId";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_stcAmount";
            readonly type: "uint256";
        }];
        readonly name: "generateStc";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "_vaultId";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_amount";
            readonly type: "uint256";
        }];
        readonly name: "withdrawCol";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "_user";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "_vaultId";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_amount";
            readonly type: "uint256";
        }];
        readonly name: "clearVault";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "_user";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "_vaultId";
            readonly type: "uint256";
        }];
        readonly name: "liquidate";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "_user";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "_vaultId";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "_recepient";
            readonly type: "address";
        }];
        readonly name: "transferCol";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "string";
            readonly name: "_colKey";
            readonly type: "string";
        }];
        readonly name: "updateCompoundRate";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "_vaultId";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "_amount";
            readonly type: "uint256";
        }];
        readonly name: "payBackStc";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "_user";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "_vaultId";
            readonly type: "uint256";
        }];
        readonly name: "getVaultStats";
        readonly outputs: readonly [{
            readonly components: readonly [{
                readonly components: readonly [{
                    readonly internalType: "string";
                    readonly name: "key";
                    readonly type: "string";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "balance";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "price";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "withdrawableAmount";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "liquidationPrice";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct BorrowingCore.ColStats";
                readonly name: "colStats";
                readonly type: "tuple";
            }, {
                readonly components: readonly [{
                    readonly internalType: "string";
                    readonly name: "key";
                    readonly type: "string";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "outstandingDebt";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "normalizedDebt";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "compoundRate";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "lastUpdateOfCompoundRate";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "borrowingLimit";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "availableToBorrow";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "liquidationLimit";
                    readonly type: "uint256";
                }, {
                    readonly internalType: "uint256";
                    readonly name: "borrowingFee";
                    readonly type: "uint256";
                }];
                readonly internalType: "struct BorrowingCore.StcStats";
                readonly name: "stcStats";
                readonly type: "tuple";
            }];
            readonly internalType: "struct BorrowingCore.VaultStats";
            readonly name: "";
            readonly type: "tuple";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getAggregatedTotals";
        readonly outputs: readonly [{
            readonly components: readonly [{
                readonly internalType: "uint256";
                readonly name: "outstandingDebt";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "mintedAmount";
                readonly type: "uint256";
            }, {
                readonly internalType: "uint256";
                readonly name: "owedBorrowingFees";
                readonly type: "uint256";
            }];
            readonly internalType: "struct BorrowingCore.AggregatedTotalsInfo";
            readonly name: "";
            readonly type: "tuple";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "_user";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "_vaultId";
            readonly type: "uint256";
        }];
        readonly name: "getCurrentColRatio";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "_user";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "_vaultId";
            readonly type: "uint256";
        }];
        readonly name: "getFullDebt";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }];
    static createInterface(): BorrowingCoreInterface;
    static connect(address: string, signerOrProvider: Signer | Provider): BorrowingCore;
}
