<?php //9cebf761fe213b876b088b01c8b9dc1a
/** @noinspection all */

namespace LaravelIdea\Helper\Modules\Loan\Entities {

    use Illuminate\Contracts\Database\Query\Expression;
    use Illuminate\Contracts\Support\Arrayable;
    use Illuminate\Pagination\LengthAwarePaginator;
    use Illuminate\Pagination\Paginator;
    use LaravelIdea\Helper\_BaseBuilder;
    use LaravelIdea\Helper\_BaseCollection;
    use Modules\Loan\Entities\Fund;
    use Modules\Loan\Entities\Loan;
    use Modules\Loan\Entities\LoanApplication;
    use Modules\Loan\Entities\LoanCharge;
    use Modules\Loan\Entities\LoanChargeOption;
    use Modules\Loan\Entities\LoanChargeType;
    use Modules\Loan\Entities\LoanCollateral;
    use Modules\Loan\Entities\LoanCollateralType;
    use Modules\Loan\Entities\LoanCreditCheck;
    use Modules\Loan\Entities\LoanDisbursementChannel;
    use Modules\Loan\Entities\LoanFile;
    use Modules\Loan\Entities\LoanFileType;
    use Modules\Loan\Entities\LoanGuarantor;
    use Modules\Loan\Entities\LoanHistory;
    use Modules\Loan\Entities\LoanLinkedCharge;
    use Modules\Loan\Entities\LoanLinkedCreditCheck;
    use Modules\Loan\Entities\LoanNote;
    use Modules\Loan\Entities\LoanOfficerHistory;
    use Modules\Loan\Entities\LoanProduct;
    use Modules\Loan\Entities\LoanProductLinkedCharge;
    use Modules\Loan\Entities\LoanProductLinkedCreditCheck;
    use Modules\Loan\Entities\LoanProvisioning;
    use Modules\Loan\Entities\LoanPurpose;
    use Modules\Loan\Entities\LoanRepaymentSchedule;
    use Modules\Loan\Entities\LoanTransaction;
    use Modules\Loan\Entities\LoanTransactionProcessingStrategy;
    use Modules\Loan\Entities\LoanTransactionType;
    
    /**
     * @method Fund|null getOrPut($key, \Closure $value)
     * @method Fund|$this shift(int $count = 1)
     * @method Fund|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Fund|$this pop(int $count = 1)
     * @method Fund|null pull($key, \Closure $default = null)
     * @method Fund|null last(callable $callback = null, \Closure $default = null)
     * @method Fund|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Fund|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method Fund|null get($key, \Closure $default = null)
     * @method Fund|null first(callable $callback = null, \Closure $default = null)
     * @method Fund|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Fund|null find($key, $default = null)
     * @method Fund[] all()
     */
    class _IH_Fund_C extends _BaseCollection {
        /**
         * @param int $size
         * @return Fund[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Fund_QB whereId($value)
     * @method _IH_Fund_QB whereName($value)
     * @method Fund baseSole(array|string $columns = ['*'])
     * @method Fund create(array $attributes = [])
     * @method Fund createOrFirst(array $attributes = [], array $values = [])
     * @method Fund createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_Fund_C|Fund[] cursor()
     * @method Fund|null|_IH_Fund_C|Fund[] find($id, array|string $columns = ['*'])
     * @method _IH_Fund_C|Fund[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Fund|_IH_Fund_C|Fund[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method Fund|_IH_Fund_C|Fund[] findOrFail($id, array|string $columns = ['*'])
     * @method Fund|_IH_Fund_C|Fund[] findOrNew($id, array|string $columns = ['*'])
     * @method Fund first(array|string $columns = ['*'])
     * @method Fund firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method Fund firstOrCreate(array $attributes = [], array $values = [])
     * @method Fund firstOrFail(array|string $columns = ['*'])
     * @method Fund firstOrNew(array $attributes = [], array $values = [])
     * @method Fund firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Fund forceCreate(array $attributes)
     * @method Fund forceCreateQuietly(array $attributes = [])
     * @method _IH_Fund_C|Fund[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Fund_C|Fund[] get(array|string $columns = ['*'])
     * @method Fund getModel()
     * @method Fund[] getModels(array|string $columns = ['*'])
     * @method _IH_Fund_C|Fund[] hydrate(array $items)
     * @method _IH_Fund_C|Fund[] lazy(int $chunkSize = 1000)
     * @method _IH_Fund_C|Fund[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Fund_C|Fund[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Fund make(array $attributes = [])
     * @method Fund newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Fund[]|_IH_Fund_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Fund restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|Fund[]|_IH_Fund_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Fund sole(array|string $columns = ['*'])
     * @method Fund updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Fund_QB extends _BaseBuilder {}
    
    /**
     * @method LoanApplication|null getOrPut($key, \Closure $value)
     * @method LoanApplication|$this shift(int $count = 1)
     * @method LoanApplication|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanApplication|$this pop(int $count = 1)
     * @method LoanApplication|null pull($key, \Closure $default = null)
     * @method LoanApplication|null last(callable $callback = null, \Closure $default = null)
     * @method LoanApplication|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanApplication|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanApplication|null get($key, \Closure $default = null)
     * @method LoanApplication|null first(callable $callback = null, \Closure $default = null)
     * @method LoanApplication|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanApplication|null find($key, $default = null)
     * @method LoanApplication[] all()
     */
    class _IH_LoanApplication_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanApplication[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanApplication_QB whereId($value)
     * @method _IH_LoanApplication_QB whereBranchId($value)
     * @method _IH_LoanApplication_QB whereCreatedById($value)
     * @method _IH_LoanApplication_QB whereClientId($value)
     * @method _IH_LoanApplication_QB whereLoanId($value)
     * @method _IH_LoanApplication_QB whereLoanProductId($value)
     * @method _IH_LoanApplication_QB whereAmount($value)
     * @method _IH_LoanApplication_QB whereStatus($value)
     * @method _IH_LoanApplication_QB whereNotes($value)
     * @method _IH_LoanApplication_QB whereCreatedAt($value)
     * @method _IH_LoanApplication_QB whereUpdatedAt($value)
     * @method LoanApplication baseSole(array|string $columns = ['*'])
     * @method LoanApplication create(array $attributes = [])
     * @method LoanApplication createOrFirst(array $attributes = [], array $values = [])
     * @method LoanApplication createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanApplication_C|LoanApplication[] cursor()
     * @method LoanApplication|null|_IH_LoanApplication_C|LoanApplication[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanApplication_C|LoanApplication[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanApplication|_IH_LoanApplication_C|LoanApplication[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanApplication|_IH_LoanApplication_C|LoanApplication[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanApplication|_IH_LoanApplication_C|LoanApplication[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanApplication first(array|string $columns = ['*'])
     * @method LoanApplication firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanApplication firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanApplication firstOrFail(array|string $columns = ['*'])
     * @method LoanApplication firstOrNew(array $attributes = [], array $values = [])
     * @method LoanApplication firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanApplication forceCreate(array $attributes)
     * @method LoanApplication forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanApplication_C|LoanApplication[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanApplication_C|LoanApplication[] get(array|string $columns = ['*'])
     * @method LoanApplication getModel()
     * @method LoanApplication[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanApplication_C|LoanApplication[] hydrate(array $items)
     * @method _IH_LoanApplication_C|LoanApplication[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanApplication_C|LoanApplication[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanApplication_C|LoanApplication[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanApplication make(array $attributes = [])
     * @method LoanApplication newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanApplication[]|_IH_LoanApplication_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanApplication restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanApplication[]|_IH_LoanApplication_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanApplication sole(array|string $columns = ['*'])
     * @method LoanApplication updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanApplication_QB extends _BaseBuilder {}
    
    /**
     * @method LoanChargeOption|null getOrPut($key, \Closure $value)
     * @method LoanChargeOption|$this shift(int $count = 1)
     * @method LoanChargeOption|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanChargeOption|$this pop(int $count = 1)
     * @method LoanChargeOption|null pull($key, \Closure $default = null)
     * @method LoanChargeOption|null last(callable $callback = null, \Closure $default = null)
     * @method LoanChargeOption|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanChargeOption|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanChargeOption|null get($key, \Closure $default = null)
     * @method LoanChargeOption|null first(callable $callback = null, \Closure $default = null)
     * @method LoanChargeOption|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanChargeOption|null find($key, $default = null)
     * @method LoanChargeOption[] all()
     */
    class _IH_LoanChargeOption_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanChargeOption[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanChargeOption_QB whereId($value)
     * @method _IH_LoanChargeOption_QB whereName($value)
     * @method _IH_LoanChargeOption_QB whereTranslatedName($value)
     * @method _IH_LoanChargeOption_QB whereActive($value)
     * @method LoanChargeOption baseSole(array|string $columns = ['*'])
     * @method LoanChargeOption create(array $attributes = [])
     * @method LoanChargeOption createOrFirst(array $attributes = [], array $values = [])
     * @method LoanChargeOption createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanChargeOption_C|LoanChargeOption[] cursor()
     * @method LoanChargeOption|null|_IH_LoanChargeOption_C|LoanChargeOption[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanChargeOption_C|LoanChargeOption[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanChargeOption|_IH_LoanChargeOption_C|LoanChargeOption[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanChargeOption|_IH_LoanChargeOption_C|LoanChargeOption[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanChargeOption|_IH_LoanChargeOption_C|LoanChargeOption[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanChargeOption first(array|string $columns = ['*'])
     * @method LoanChargeOption firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanChargeOption firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanChargeOption firstOrFail(array|string $columns = ['*'])
     * @method LoanChargeOption firstOrNew(array $attributes = [], array $values = [])
     * @method LoanChargeOption firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanChargeOption forceCreate(array $attributes)
     * @method LoanChargeOption forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanChargeOption_C|LoanChargeOption[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanChargeOption_C|LoanChargeOption[] get(array|string $columns = ['*'])
     * @method LoanChargeOption getModel()
     * @method LoanChargeOption[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanChargeOption_C|LoanChargeOption[] hydrate(array $items)
     * @method _IH_LoanChargeOption_C|LoanChargeOption[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanChargeOption_C|LoanChargeOption[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanChargeOption_C|LoanChargeOption[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanChargeOption make(array $attributes = [])
     * @method LoanChargeOption newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanChargeOption[]|_IH_LoanChargeOption_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanChargeOption restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanChargeOption[]|_IH_LoanChargeOption_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanChargeOption sole(array|string $columns = ['*'])
     * @method LoanChargeOption updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanChargeOption_QB extends _BaseBuilder {}
    
    /**
     * @method LoanChargeType|null getOrPut($key, \Closure $value)
     * @method LoanChargeType|$this shift(int $count = 1)
     * @method LoanChargeType|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanChargeType|$this pop(int $count = 1)
     * @method LoanChargeType|null pull($key, \Closure $default = null)
     * @method LoanChargeType|null last(callable $callback = null, \Closure $default = null)
     * @method LoanChargeType|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanChargeType|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanChargeType|null get($key, \Closure $default = null)
     * @method LoanChargeType|null first(callable $callback = null, \Closure $default = null)
     * @method LoanChargeType|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanChargeType|null find($key, $default = null)
     * @method LoanChargeType[] all()
     */
    class _IH_LoanChargeType_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanChargeType[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanChargeType_QB whereId($value)
     * @method _IH_LoanChargeType_QB whereName($value)
     * @method _IH_LoanChargeType_QB whereTranslatedName($value)
     * @method _IH_LoanChargeType_QB whereActive($value)
     * @method LoanChargeType baseSole(array|string $columns = ['*'])
     * @method LoanChargeType create(array $attributes = [])
     * @method LoanChargeType createOrFirst(array $attributes = [], array $values = [])
     * @method LoanChargeType createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanChargeType_C|LoanChargeType[] cursor()
     * @method LoanChargeType|null|_IH_LoanChargeType_C|LoanChargeType[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanChargeType_C|LoanChargeType[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanChargeType|_IH_LoanChargeType_C|LoanChargeType[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanChargeType|_IH_LoanChargeType_C|LoanChargeType[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanChargeType|_IH_LoanChargeType_C|LoanChargeType[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanChargeType first(array|string $columns = ['*'])
     * @method LoanChargeType firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanChargeType firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanChargeType firstOrFail(array|string $columns = ['*'])
     * @method LoanChargeType firstOrNew(array $attributes = [], array $values = [])
     * @method LoanChargeType firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanChargeType forceCreate(array $attributes)
     * @method LoanChargeType forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanChargeType_C|LoanChargeType[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanChargeType_C|LoanChargeType[] get(array|string $columns = ['*'])
     * @method LoanChargeType getModel()
     * @method LoanChargeType[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanChargeType_C|LoanChargeType[] hydrate(array $items)
     * @method _IH_LoanChargeType_C|LoanChargeType[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanChargeType_C|LoanChargeType[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanChargeType_C|LoanChargeType[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanChargeType make(array $attributes = [])
     * @method LoanChargeType newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanChargeType[]|_IH_LoanChargeType_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanChargeType restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanChargeType[]|_IH_LoanChargeType_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanChargeType sole(array|string $columns = ['*'])
     * @method LoanChargeType updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanChargeType_QB extends _BaseBuilder {}
    
    /**
     * @method LoanCharge|null getOrPut($key, \Closure $value)
     * @method LoanCharge|$this shift(int $count = 1)
     * @method LoanCharge|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanCharge|$this pop(int $count = 1)
     * @method LoanCharge|null pull($key, \Closure $default = null)
     * @method LoanCharge|null last(callable $callback = null, \Closure $default = null)
     * @method LoanCharge|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanCharge|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanCharge|null get($key, \Closure $default = null)
     * @method LoanCharge|null first(callable $callback = null, \Closure $default = null)
     * @method LoanCharge|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanCharge|null find($key, $default = null)
     * @method LoanCharge[] all()
     */
    class _IH_LoanCharge_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanCharge[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanCharge_QB whereId($value)
     * @method _IH_LoanCharge_QB whereCreatedById($value)
     * @method _IH_LoanCharge_QB whereCurrencyId($value)
     * @method _IH_LoanCharge_QB whereLoanChargeTypeId($value)
     * @method _IH_LoanCharge_QB whereLoanChargeOptionId($value)
     * @method _IH_LoanCharge_QB whereName($value)
     * @method _IH_LoanCharge_QB whereAmount($value)
     * @method _IH_LoanCharge_QB whereMinAmount($value)
     * @method _IH_LoanCharge_QB whereMaxAmount($value)
     * @method _IH_LoanCharge_QB wherePaymentMode($value)
     * @method _IH_LoanCharge_QB whereSchedule($value)
     * @method _IH_LoanCharge_QB whereScheduleFrequency($value)
     * @method _IH_LoanCharge_QB whereScheduleFrequencyType($value)
     * @method _IH_LoanCharge_QB whereIsPenalty($value)
     * @method _IH_LoanCharge_QB whereActive($value)
     * @method _IH_LoanCharge_QB whereAllowOverride($value)
     * @method _IH_LoanCharge_QB whereCreatedAt($value)
     * @method _IH_LoanCharge_QB whereUpdatedAt($value)
     * @method LoanCharge baseSole(array|string $columns = ['*'])
     * @method LoanCharge create(array $attributes = [])
     * @method LoanCharge createOrFirst(array $attributes = [], array $values = [])
     * @method LoanCharge createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanCharge_C|LoanCharge[] cursor()
     * @method LoanCharge|null|_IH_LoanCharge_C|LoanCharge[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanCharge_C|LoanCharge[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanCharge|_IH_LoanCharge_C|LoanCharge[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanCharge|_IH_LoanCharge_C|LoanCharge[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanCharge|_IH_LoanCharge_C|LoanCharge[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanCharge first(array|string $columns = ['*'])
     * @method LoanCharge firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanCharge firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanCharge firstOrFail(array|string $columns = ['*'])
     * @method LoanCharge firstOrNew(array $attributes = [], array $values = [])
     * @method LoanCharge firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanCharge forceCreate(array $attributes)
     * @method LoanCharge forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanCharge_C|LoanCharge[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanCharge_C|LoanCharge[] get(array|string $columns = ['*'])
     * @method LoanCharge getModel()
     * @method LoanCharge[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanCharge_C|LoanCharge[] hydrate(array $items)
     * @method _IH_LoanCharge_C|LoanCharge[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanCharge_C|LoanCharge[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanCharge_C|LoanCharge[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanCharge make(array $attributes = [])
     * @method LoanCharge newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanCharge[]|_IH_LoanCharge_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanCharge restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanCharge[]|_IH_LoanCharge_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanCharge sole(array|string $columns = ['*'])
     * @method LoanCharge updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanCharge_QB extends _BaseBuilder {}
    
    /**
     * @method LoanCollateralType|null getOrPut($key, \Closure $value)
     * @method LoanCollateralType|$this shift(int $count = 1)
     * @method LoanCollateralType|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanCollateralType|$this pop(int $count = 1)
     * @method LoanCollateralType|null pull($key, \Closure $default = null)
     * @method LoanCollateralType|null last(callable $callback = null, \Closure $default = null)
     * @method LoanCollateralType|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanCollateralType|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanCollateralType|null get($key, \Closure $default = null)
     * @method LoanCollateralType|null first(callable $callback = null, \Closure $default = null)
     * @method LoanCollateralType|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanCollateralType|null find($key, $default = null)
     * @method LoanCollateralType[] all()
     */
    class _IH_LoanCollateralType_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanCollateralType[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanCollateralType_QB whereId($value)
     * @method _IH_LoanCollateralType_QB whereName($value)
     * @method LoanCollateralType baseSole(array|string $columns = ['*'])
     * @method LoanCollateralType create(array $attributes = [])
     * @method LoanCollateralType createOrFirst(array $attributes = [], array $values = [])
     * @method LoanCollateralType createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanCollateralType_C|LoanCollateralType[] cursor()
     * @method LoanCollateralType|null|_IH_LoanCollateralType_C|LoanCollateralType[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanCollateralType_C|LoanCollateralType[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanCollateralType|_IH_LoanCollateralType_C|LoanCollateralType[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanCollateralType|_IH_LoanCollateralType_C|LoanCollateralType[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanCollateralType|_IH_LoanCollateralType_C|LoanCollateralType[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanCollateralType first(array|string $columns = ['*'])
     * @method LoanCollateralType firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanCollateralType firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanCollateralType firstOrFail(array|string $columns = ['*'])
     * @method LoanCollateralType firstOrNew(array $attributes = [], array $values = [])
     * @method LoanCollateralType firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanCollateralType forceCreate(array $attributes)
     * @method LoanCollateralType forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanCollateralType_C|LoanCollateralType[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanCollateralType_C|LoanCollateralType[] get(array|string $columns = ['*'])
     * @method LoanCollateralType getModel()
     * @method LoanCollateralType[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanCollateralType_C|LoanCollateralType[] hydrate(array $items)
     * @method _IH_LoanCollateralType_C|LoanCollateralType[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanCollateralType_C|LoanCollateralType[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanCollateralType_C|LoanCollateralType[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanCollateralType make(array $attributes = [])
     * @method LoanCollateralType newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanCollateralType[]|_IH_LoanCollateralType_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanCollateralType restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanCollateralType[]|_IH_LoanCollateralType_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanCollateralType sole(array|string $columns = ['*'])
     * @method LoanCollateralType updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanCollateralType_QB extends _BaseBuilder {}
    
    /**
     * @method LoanCollateral|null getOrPut($key, \Closure $value)
     * @method LoanCollateral|$this shift(int $count = 1)
     * @method LoanCollateral|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanCollateral|$this pop(int $count = 1)
     * @method LoanCollateral|null pull($key, \Closure $default = null)
     * @method LoanCollateral|null last(callable $callback = null, \Closure $default = null)
     * @method LoanCollateral|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanCollateral|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanCollateral|null get($key, \Closure $default = null)
     * @method LoanCollateral|null first(callable $callback = null, \Closure $default = null)
     * @method LoanCollateral|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanCollateral|null find($key, $default = null)
     * @method LoanCollateral[] all()
     */
    class _IH_LoanCollateral_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanCollateral[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanCollateral_QB whereId($value)
     * @method _IH_LoanCollateral_QB whereCreatedById($value)
     * @method _IH_LoanCollateral_QB whereLoanId($value)
     * @method _IH_LoanCollateral_QB whereLoanCollateralTypeId($value)
     * @method _IH_LoanCollateral_QB whereDescription($value)
     * @method _IH_LoanCollateral_QB whereValue($value)
     * @method _IH_LoanCollateral_QB whereLink($value)
     * @method _IH_LoanCollateral_QB whereStatus($value)
     * @method _IH_LoanCollateral_QB whereCreatedAt($value)
     * @method _IH_LoanCollateral_QB whereUpdatedAt($value)
     * @method LoanCollateral baseSole(array|string $columns = ['*'])
     * @method LoanCollateral create(array $attributes = [])
     * @method LoanCollateral createOrFirst(array $attributes = [], array $values = [])
     * @method LoanCollateral createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanCollateral_C|LoanCollateral[] cursor()
     * @method LoanCollateral|null|_IH_LoanCollateral_C|LoanCollateral[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanCollateral_C|LoanCollateral[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanCollateral|_IH_LoanCollateral_C|LoanCollateral[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanCollateral|_IH_LoanCollateral_C|LoanCollateral[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanCollateral|_IH_LoanCollateral_C|LoanCollateral[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanCollateral first(array|string $columns = ['*'])
     * @method LoanCollateral firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanCollateral firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanCollateral firstOrFail(array|string $columns = ['*'])
     * @method LoanCollateral firstOrNew(array $attributes = [], array $values = [])
     * @method LoanCollateral firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanCollateral forceCreate(array $attributes)
     * @method LoanCollateral forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanCollateral_C|LoanCollateral[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanCollateral_C|LoanCollateral[] get(array|string $columns = ['*'])
     * @method LoanCollateral getModel()
     * @method LoanCollateral[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanCollateral_C|LoanCollateral[] hydrate(array $items)
     * @method _IH_LoanCollateral_C|LoanCollateral[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanCollateral_C|LoanCollateral[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanCollateral_C|LoanCollateral[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanCollateral make(array $attributes = [])
     * @method LoanCollateral newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanCollateral[]|_IH_LoanCollateral_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanCollateral restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanCollateral[]|_IH_LoanCollateral_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanCollateral sole(array|string $columns = ['*'])
     * @method LoanCollateral updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanCollateral_QB extends _BaseBuilder {}
    
    /**
     * @method LoanCreditCheck|null getOrPut($key, \Closure $value)
     * @method LoanCreditCheck|$this shift(int $count = 1)
     * @method LoanCreditCheck|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanCreditCheck|$this pop(int $count = 1)
     * @method LoanCreditCheck|null pull($key, \Closure $default = null)
     * @method LoanCreditCheck|null last(callable $callback = null, \Closure $default = null)
     * @method LoanCreditCheck|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanCreditCheck|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanCreditCheck|null get($key, \Closure $default = null)
     * @method LoanCreditCheck|null first(callable $callback = null, \Closure $default = null)
     * @method LoanCreditCheck|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanCreditCheck|null find($key, $default = null)
     * @method LoanCreditCheck[] all()
     */
    class _IH_LoanCreditCheck_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanCreditCheck[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanCreditCheck_QB whereId($value)
     * @method _IH_LoanCreditCheck_QB whereCreatedById($value)
     * @method _IH_LoanCreditCheck_QB whereName($value)
     * @method _IH_LoanCreditCheck_QB whereTranslatedName($value)
     * @method _IH_LoanCreditCheck_QB whereSecurityLevel($value)
     * @method _IH_LoanCreditCheck_QB whereRatingType($value)
     * @method _IH_LoanCreditCheck_QB wherePassMinAmount($value)
     * @method _IH_LoanCreditCheck_QB wherePassMaxAmount($value)
     * @method _IH_LoanCreditCheck_QB whereWarnMinAmount($value)
     * @method _IH_LoanCreditCheck_QB whereWarnMaxAmount($value)
     * @method _IH_LoanCreditCheck_QB whereFailMinAmount($value)
     * @method _IH_LoanCreditCheck_QB whereFailMaxAmount($value)
     * @method _IH_LoanCreditCheck_QB whereGeneralErrorMsg($value)
     * @method _IH_LoanCreditCheck_QB whereUserFriendlyErrorMsg($value)
     * @method _IH_LoanCreditCheck_QB whereGeneralWarningMsg($value)
     * @method _IH_LoanCreditCheck_QB whereUserFriendlyWarningMsg($value)
     * @method _IH_LoanCreditCheck_QB whereGeneralSuccessMsg($value)
     * @method _IH_LoanCreditCheck_QB whereUserFriendlySuccessMsg($value)
     * @method _IH_LoanCreditCheck_QB whereActive($value)
     * @method _IH_LoanCreditCheck_QB whereCreatedAt($value)
     * @method _IH_LoanCreditCheck_QB whereUpdatedAt($value)
     * @method LoanCreditCheck baseSole(array|string $columns = ['*'])
     * @method LoanCreditCheck create(array $attributes = [])
     * @method LoanCreditCheck createOrFirst(array $attributes = [], array $values = [])
     * @method LoanCreditCheck createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanCreditCheck_C|LoanCreditCheck[] cursor()
     * @method LoanCreditCheck|null|_IH_LoanCreditCheck_C|LoanCreditCheck[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanCreditCheck_C|LoanCreditCheck[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanCreditCheck|_IH_LoanCreditCheck_C|LoanCreditCheck[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanCreditCheck|_IH_LoanCreditCheck_C|LoanCreditCheck[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanCreditCheck|_IH_LoanCreditCheck_C|LoanCreditCheck[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanCreditCheck first(array|string $columns = ['*'])
     * @method LoanCreditCheck firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanCreditCheck firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanCreditCheck firstOrFail(array|string $columns = ['*'])
     * @method LoanCreditCheck firstOrNew(array $attributes = [], array $values = [])
     * @method LoanCreditCheck firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanCreditCheck forceCreate(array $attributes)
     * @method LoanCreditCheck forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanCreditCheck_C|LoanCreditCheck[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanCreditCheck_C|LoanCreditCheck[] get(array|string $columns = ['*'])
     * @method LoanCreditCheck getModel()
     * @method LoanCreditCheck[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanCreditCheck_C|LoanCreditCheck[] hydrate(array $items)
     * @method _IH_LoanCreditCheck_C|LoanCreditCheck[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanCreditCheck_C|LoanCreditCheck[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanCreditCheck_C|LoanCreditCheck[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanCreditCheck make(array $attributes = [])
     * @method LoanCreditCheck newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanCreditCheck[]|_IH_LoanCreditCheck_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanCreditCheck restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanCreditCheck[]|_IH_LoanCreditCheck_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanCreditCheck sole(array|string $columns = ['*'])
     * @method LoanCreditCheck updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanCreditCheck_QB extends _BaseBuilder {}
    
    /**
     * @method LoanDisbursementChannel|null getOrPut($key, \Closure $value)
     * @method LoanDisbursementChannel|$this shift(int $count = 1)
     * @method LoanDisbursementChannel|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanDisbursementChannel|$this pop(int $count = 1)
     * @method LoanDisbursementChannel|null pull($key, \Closure $default = null)
     * @method LoanDisbursementChannel|null last(callable $callback = null, \Closure $default = null)
     * @method LoanDisbursementChannel|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanDisbursementChannel|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanDisbursementChannel|null get($key, \Closure $default = null)
     * @method LoanDisbursementChannel|null first(callable $callback = null, \Closure $default = null)
     * @method LoanDisbursementChannel|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanDisbursementChannel|null find($key, $default = null)
     * @method LoanDisbursementChannel[] all()
     */
    class _IH_LoanDisbursementChannel_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanDisbursementChannel[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanDisbursementChannel_QB whereId($value)
     * @method _IH_LoanDisbursementChannel_QB whereName($value)
     * @method _IH_LoanDisbursementChannel_QB whereIsSystem($value)
     * @method _IH_LoanDisbursementChannel_QB whereCreatedAt($value)
     * @method _IH_LoanDisbursementChannel_QB whereUpdatedAt($value)
     * @method LoanDisbursementChannel baseSole(array|string $columns = ['*'])
     * @method LoanDisbursementChannel create(array $attributes = [])
     * @method LoanDisbursementChannel createOrFirst(array $attributes = [], array $values = [])
     * @method LoanDisbursementChannel createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanDisbursementChannel_C|LoanDisbursementChannel[] cursor()
     * @method LoanDisbursementChannel|null|_IH_LoanDisbursementChannel_C|LoanDisbursementChannel[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanDisbursementChannel_C|LoanDisbursementChannel[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanDisbursementChannel|_IH_LoanDisbursementChannel_C|LoanDisbursementChannel[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanDisbursementChannel|_IH_LoanDisbursementChannel_C|LoanDisbursementChannel[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanDisbursementChannel|_IH_LoanDisbursementChannel_C|LoanDisbursementChannel[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanDisbursementChannel first(array|string $columns = ['*'])
     * @method LoanDisbursementChannel firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanDisbursementChannel firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanDisbursementChannel firstOrFail(array|string $columns = ['*'])
     * @method LoanDisbursementChannel firstOrNew(array $attributes = [], array $values = [])
     * @method LoanDisbursementChannel firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanDisbursementChannel forceCreate(array $attributes)
     * @method LoanDisbursementChannel forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanDisbursementChannel_C|LoanDisbursementChannel[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanDisbursementChannel_C|LoanDisbursementChannel[] get(array|string $columns = ['*'])
     * @method LoanDisbursementChannel getModel()
     * @method LoanDisbursementChannel[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanDisbursementChannel_C|LoanDisbursementChannel[] hydrate(array $items)
     * @method _IH_LoanDisbursementChannel_C|LoanDisbursementChannel[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanDisbursementChannel_C|LoanDisbursementChannel[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanDisbursementChannel_C|LoanDisbursementChannel[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanDisbursementChannel make(array $attributes = [])
     * @method LoanDisbursementChannel newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanDisbursementChannel[]|_IH_LoanDisbursementChannel_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanDisbursementChannel restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanDisbursementChannel[]|_IH_LoanDisbursementChannel_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanDisbursementChannel sole(array|string $columns = ['*'])
     * @method LoanDisbursementChannel updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanDisbursementChannel_QB extends _BaseBuilder {}
    
    /**
     * @method LoanFileType|null getOrPut($key, \Closure $value)
     * @method LoanFileType|$this shift(int $count = 1)
     * @method LoanFileType|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanFileType|$this pop(int $count = 1)
     * @method LoanFileType|null pull($key, \Closure $default = null)
     * @method LoanFileType|null last(callable $callback = null, \Closure $default = null)
     * @method LoanFileType|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanFileType|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanFileType|null get($key, \Closure $default = null)
     * @method LoanFileType|null first(callable $callback = null, \Closure $default = null)
     * @method LoanFileType|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanFileType|null find($key, $default = null)
     * @method LoanFileType[] all()
     */
    class _IH_LoanFileType_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanFileType[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanFileType_QB whereId($value)
     * @method _IH_LoanFileType_QB whereName($value)
     * @method _IH_LoanFileType_QB whereCreatedAt($value)
     * @method _IH_LoanFileType_QB whereUpdatedAt($value)
     * @method LoanFileType baseSole(array|string $columns = ['*'])
     * @method LoanFileType create(array $attributes = [])
     * @method LoanFileType createOrFirst(array $attributes = [], array $values = [])
     * @method LoanFileType createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanFileType_C|LoanFileType[] cursor()
     * @method LoanFileType|null|_IH_LoanFileType_C|LoanFileType[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanFileType_C|LoanFileType[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanFileType|_IH_LoanFileType_C|LoanFileType[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanFileType|_IH_LoanFileType_C|LoanFileType[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanFileType|_IH_LoanFileType_C|LoanFileType[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanFileType first(array|string $columns = ['*'])
     * @method LoanFileType firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanFileType firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanFileType firstOrFail(array|string $columns = ['*'])
     * @method LoanFileType firstOrNew(array $attributes = [], array $values = [])
     * @method LoanFileType firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanFileType forceCreate(array $attributes)
     * @method LoanFileType forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanFileType_C|LoanFileType[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanFileType_C|LoanFileType[] get(array|string $columns = ['*'])
     * @method LoanFileType getModel()
     * @method LoanFileType[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanFileType_C|LoanFileType[] hydrate(array $items)
     * @method _IH_LoanFileType_C|LoanFileType[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanFileType_C|LoanFileType[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanFileType_C|LoanFileType[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanFileType make(array $attributes = [])
     * @method LoanFileType newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanFileType[]|_IH_LoanFileType_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanFileType restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanFileType[]|_IH_LoanFileType_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanFileType sole(array|string $columns = ['*'])
     * @method LoanFileType updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanFileType_QB extends _BaseBuilder {}
    
    /**
     * @method LoanFile|null getOrPut($key, \Closure $value)
     * @method LoanFile|$this shift(int $count = 1)
     * @method LoanFile|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanFile|$this pop(int $count = 1)
     * @method LoanFile|null pull($key, \Closure $default = null)
     * @method LoanFile|null last(callable $callback = null, \Closure $default = null)
     * @method LoanFile|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanFile|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanFile|null get($key, \Closure $default = null)
     * @method LoanFile|null first(callable $callback = null, \Closure $default = null)
     * @method LoanFile|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanFile|null find($key, $default = null)
     * @method LoanFile[] all()
     */
    class _IH_LoanFile_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanFile[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanFile_QB whereId($value)
     * @method _IH_LoanFile_QB whereCreatedById($value)
     * @method _IH_LoanFile_QB whereLoanId($value)
     * @method _IH_LoanFile_QB whereName($value)
     * @method _IH_LoanFile_QB whereDescription($value)
     * @method _IH_LoanFile_QB whereSize($value)
     * @method _IH_LoanFile_QB whereLink($value)
     * @method _IH_LoanFile_QB whereCreatedAt($value)
     * @method _IH_LoanFile_QB whereUpdatedAt($value)
     * @method _IH_LoanFile_QB whereLoanFileTypeId($value)
     * @method _IH_LoanFile_QB whereStatus($value)
     * @method LoanFile baseSole(array|string $columns = ['*'])
     * @method LoanFile create(array $attributes = [])
     * @method LoanFile createOrFirst(array $attributes = [], array $values = [])
     * @method LoanFile createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanFile_C|LoanFile[] cursor()
     * @method LoanFile|null|_IH_LoanFile_C|LoanFile[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanFile_C|LoanFile[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanFile|_IH_LoanFile_C|LoanFile[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanFile|_IH_LoanFile_C|LoanFile[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanFile|_IH_LoanFile_C|LoanFile[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanFile first(array|string $columns = ['*'])
     * @method LoanFile firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanFile firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanFile firstOrFail(array|string $columns = ['*'])
     * @method LoanFile firstOrNew(array $attributes = [], array $values = [])
     * @method LoanFile firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanFile forceCreate(array $attributes)
     * @method LoanFile forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanFile_C|LoanFile[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanFile_C|LoanFile[] get(array|string $columns = ['*'])
     * @method LoanFile getModel()
     * @method LoanFile[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanFile_C|LoanFile[] hydrate(array $items)
     * @method _IH_LoanFile_C|LoanFile[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanFile_C|LoanFile[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanFile_C|LoanFile[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanFile make(array $attributes = [])
     * @method LoanFile newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanFile[]|_IH_LoanFile_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanFile restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanFile[]|_IH_LoanFile_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanFile sole(array|string $columns = ['*'])
     * @method LoanFile updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanFile_QB extends _BaseBuilder {}
    
    /**
     * @method LoanGuarantor|null getOrPut($key, \Closure $value)
     * @method LoanGuarantor|$this shift(int $count = 1)
     * @method LoanGuarantor|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanGuarantor|$this pop(int $count = 1)
     * @method LoanGuarantor|null pull($key, \Closure $default = null)
     * @method LoanGuarantor|null last(callable $callback = null, \Closure $default = null)
     * @method LoanGuarantor|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanGuarantor|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanGuarantor|null get($key, \Closure $default = null)
     * @method LoanGuarantor|null first(callable $callback = null, \Closure $default = null)
     * @method LoanGuarantor|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanGuarantor|null find($key, $default = null)
     * @method LoanGuarantor[] all()
     */
    class _IH_LoanGuarantor_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanGuarantor[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanGuarantor_QB whereId($value)
     * @method _IH_LoanGuarantor_QB whereCreatedById($value)
     * @method _IH_LoanGuarantor_QB whereBranchId($value)
     * @method _IH_LoanGuarantor_QB whereLoanId($value)
     * @method _IH_LoanGuarantor_QB whereIsClient($value)
     * @method _IH_LoanGuarantor_QB whereClientId($value)
     * @method _IH_LoanGuarantor_QB whereFirstName($value)
     * @method _IH_LoanGuarantor_QB whereMiddleName($value)
     * @method _IH_LoanGuarantor_QB whereLastName($value)
     * @method _IH_LoanGuarantor_QB whereGender($value)
     * @method _IH_LoanGuarantor_QB whereStatus($value)
     * @method _IH_LoanGuarantor_QB whereMaritalStatus($value)
     * @method _IH_LoanGuarantor_QB whereCountryId($value)
     * @method _IH_LoanGuarantor_QB whereTitleId($value)
     * @method _IH_LoanGuarantor_QB whereProfessionId($value)
     * @method _IH_LoanGuarantor_QB whereClientRelationshipId($value)
     * @method _IH_LoanGuarantor_QB whereMobile($value)
     * @method _IH_LoanGuarantor_QB wherePhone($value)
     * @method _IH_LoanGuarantor_QB whereEmail($value)
     * @method _IH_LoanGuarantor_QB whereDob($value)
     * @method _IH_LoanGuarantor_QB whereAddress($value)
     * @method _IH_LoanGuarantor_QB whereCity($value)
     * @method _IH_LoanGuarantor_QB whereState($value)
     * @method _IH_LoanGuarantor_QB whereZip($value)
     * @method _IH_LoanGuarantor_QB whereEmployer($value)
     * @method _IH_LoanGuarantor_QB wherePhoto($value)
     * @method _IH_LoanGuarantor_QB whereNotes($value)
     * @method _IH_LoanGuarantor_QB whereCreatedDate($value)
     * @method _IH_LoanGuarantor_QB whereJoinedDate($value)
     * @method _IH_LoanGuarantor_QB whereGuaranteedAmount($value)
     * @method _IH_LoanGuarantor_QB whereCreatedAt($value)
     * @method _IH_LoanGuarantor_QB whereUpdatedAt($value)
     * @method LoanGuarantor baseSole(array|string $columns = ['*'])
     * @method LoanGuarantor create(array $attributes = [])
     * @method LoanGuarantor createOrFirst(array $attributes = [], array $values = [])
     * @method LoanGuarantor createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanGuarantor_C|LoanGuarantor[] cursor()
     * @method LoanGuarantor|null|_IH_LoanGuarantor_C|LoanGuarantor[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanGuarantor_C|LoanGuarantor[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanGuarantor|_IH_LoanGuarantor_C|LoanGuarantor[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanGuarantor|_IH_LoanGuarantor_C|LoanGuarantor[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanGuarantor|_IH_LoanGuarantor_C|LoanGuarantor[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanGuarantor first(array|string $columns = ['*'])
     * @method LoanGuarantor firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanGuarantor firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanGuarantor firstOrFail(array|string $columns = ['*'])
     * @method LoanGuarantor firstOrNew(array $attributes = [], array $values = [])
     * @method LoanGuarantor firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanGuarantor forceCreate(array $attributes)
     * @method LoanGuarantor forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanGuarantor_C|LoanGuarantor[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanGuarantor_C|LoanGuarantor[] get(array|string $columns = ['*'])
     * @method LoanGuarantor getModel()
     * @method LoanGuarantor[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanGuarantor_C|LoanGuarantor[] hydrate(array $items)
     * @method _IH_LoanGuarantor_C|LoanGuarantor[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanGuarantor_C|LoanGuarantor[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanGuarantor_C|LoanGuarantor[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanGuarantor make(array $attributes = [])
     * @method LoanGuarantor newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanGuarantor[]|_IH_LoanGuarantor_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanGuarantor restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanGuarantor[]|_IH_LoanGuarantor_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanGuarantor sole(array|string $columns = ['*'])
     * @method LoanGuarantor updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanGuarantor_QB extends _BaseBuilder {}
    
    /**
     * @method LoanHistory|null getOrPut($key, \Closure $value)
     * @method LoanHistory|$this shift(int $count = 1)
     * @method LoanHistory|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanHistory|$this pop(int $count = 1)
     * @method LoanHistory|null pull($key, \Closure $default = null)
     * @method LoanHistory|null last(callable $callback = null, \Closure $default = null)
     * @method LoanHistory|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanHistory|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanHistory|null get($key, \Closure $default = null)
     * @method LoanHistory|null first(callable $callback = null, \Closure $default = null)
     * @method LoanHistory|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanHistory|null find($key, $default = null)
     * @method LoanHistory[] all()
     */
    class _IH_LoanHistory_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanHistory[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanHistory_QB whereId($value)
     * @method _IH_LoanHistory_QB whereLoanId($value)
     * @method _IH_LoanHistory_QB whereCreatedById($value)
     * @method _IH_LoanHistory_QB whereAction($value)
     * @method _IH_LoanHistory_QB whereUser($value)
     * @method _IH_LoanHistory_QB whereCreatedAt($value)
     * @method _IH_LoanHistory_QB whereUpdatedAt($value)
     * @method LoanHistory baseSole(array|string $columns = ['*'])
     * @method LoanHistory create(array $attributes = [])
     * @method LoanHistory createOrFirst(array $attributes = [], array $values = [])
     * @method LoanHistory createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanHistory_C|LoanHistory[] cursor()
     * @method LoanHistory|null|_IH_LoanHistory_C|LoanHistory[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanHistory_C|LoanHistory[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanHistory|_IH_LoanHistory_C|LoanHistory[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanHistory|_IH_LoanHistory_C|LoanHistory[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanHistory|_IH_LoanHistory_C|LoanHistory[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanHistory first(array|string $columns = ['*'])
     * @method LoanHistory firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanHistory firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanHistory firstOrFail(array|string $columns = ['*'])
     * @method LoanHistory firstOrNew(array $attributes = [], array $values = [])
     * @method LoanHistory firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanHistory forceCreate(array $attributes)
     * @method LoanHistory forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanHistory_C|LoanHistory[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanHistory_C|LoanHistory[] get(array|string $columns = ['*'])
     * @method LoanHistory getModel()
     * @method LoanHistory[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanHistory_C|LoanHistory[] hydrate(array $items)
     * @method _IH_LoanHistory_C|LoanHistory[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanHistory_C|LoanHistory[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanHistory_C|LoanHistory[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanHistory make(array $attributes = [])
     * @method LoanHistory newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanHistory[]|_IH_LoanHistory_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanHistory restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanHistory[]|_IH_LoanHistory_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanHistory sole(array|string $columns = ['*'])
     * @method LoanHistory updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanHistory_QB extends _BaseBuilder {}
    
    /**
     * @method LoanLinkedCharge|null getOrPut($key, \Closure $value)
     * @method LoanLinkedCharge|$this shift(int $count = 1)
     * @method LoanLinkedCharge|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanLinkedCharge|$this pop(int $count = 1)
     * @method LoanLinkedCharge|null pull($key, \Closure $default = null)
     * @method LoanLinkedCharge|null last(callable $callback = null, \Closure $default = null)
     * @method LoanLinkedCharge|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanLinkedCharge|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanLinkedCharge|null get($key, \Closure $default = null)
     * @method LoanLinkedCharge|null first(callable $callback = null, \Closure $default = null)
     * @method LoanLinkedCharge|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanLinkedCharge|null find($key, $default = null)
     * @method LoanLinkedCharge[] all()
     */
    class _IH_LoanLinkedCharge_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanLinkedCharge[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanLinkedCharge_QB whereId($value)
     * @method _IH_LoanLinkedCharge_QB whereLoanId($value)
     * @method _IH_LoanLinkedCharge_QB whereLoanChargeId($value)
     * @method _IH_LoanLinkedCharge_QB whereLoanChargeTypeId($value)
     * @method _IH_LoanLinkedCharge_QB whereLoanChargeOptionId($value)
     * @method _IH_LoanLinkedCharge_QB whereLoanTransactionId($value)
     * @method _IH_LoanLinkedCharge_QB whereName($value)
     * @method _IH_LoanLinkedCharge_QB whereAmount($value)
     * @method _IH_LoanLinkedCharge_QB whereCalculatedAmount($value)
     * @method _IH_LoanLinkedCharge_QB whereAmountPaidDerived($value)
     * @method _IH_LoanLinkedCharge_QB whereAmountWaivedDerived($value)
     * @method _IH_LoanLinkedCharge_QB whereAmountWrittenOffDerived($value)
     * @method _IH_LoanLinkedCharge_QB whereAmountOutstandingDerived($value)
     * @method _IH_LoanLinkedCharge_QB whereIsPenalty($value)
     * @method _IH_LoanLinkedCharge_QB whereWaived($value)
     * @method _IH_LoanLinkedCharge_QB whereIsPaid($value)
     * @method _IH_LoanLinkedCharge_QB whereCreatedAt($value)
     * @method _IH_LoanLinkedCharge_QB whereUpdatedAt($value)
     * @method LoanLinkedCharge baseSole(array|string $columns = ['*'])
     * @method LoanLinkedCharge create(array $attributes = [])
     * @method LoanLinkedCharge createOrFirst(array $attributes = [], array $values = [])
     * @method LoanLinkedCharge createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanLinkedCharge_C|LoanLinkedCharge[] cursor()
     * @method LoanLinkedCharge|null|_IH_LoanLinkedCharge_C|LoanLinkedCharge[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanLinkedCharge_C|LoanLinkedCharge[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanLinkedCharge|_IH_LoanLinkedCharge_C|LoanLinkedCharge[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanLinkedCharge|_IH_LoanLinkedCharge_C|LoanLinkedCharge[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanLinkedCharge|_IH_LoanLinkedCharge_C|LoanLinkedCharge[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanLinkedCharge first(array|string $columns = ['*'])
     * @method LoanLinkedCharge firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanLinkedCharge firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanLinkedCharge firstOrFail(array|string $columns = ['*'])
     * @method LoanLinkedCharge firstOrNew(array $attributes = [], array $values = [])
     * @method LoanLinkedCharge firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanLinkedCharge forceCreate(array $attributes)
     * @method LoanLinkedCharge forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanLinkedCharge_C|LoanLinkedCharge[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanLinkedCharge_C|LoanLinkedCharge[] get(array|string $columns = ['*'])
     * @method LoanLinkedCharge getModel()
     * @method LoanLinkedCharge[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanLinkedCharge_C|LoanLinkedCharge[] hydrate(array $items)
     * @method _IH_LoanLinkedCharge_C|LoanLinkedCharge[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanLinkedCharge_C|LoanLinkedCharge[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanLinkedCharge_C|LoanLinkedCharge[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanLinkedCharge make(array $attributes = [])
     * @method LoanLinkedCharge newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanLinkedCharge[]|_IH_LoanLinkedCharge_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanLinkedCharge restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanLinkedCharge[]|_IH_LoanLinkedCharge_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanLinkedCharge sole(array|string $columns = ['*'])
     * @method LoanLinkedCharge updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanLinkedCharge_QB extends _BaseBuilder {}
    
    /**
     * @method LoanLinkedCreditCheck|null getOrPut($key, \Closure $value)
     * @method LoanLinkedCreditCheck|$this shift(int $count = 1)
     * @method LoanLinkedCreditCheck|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanLinkedCreditCheck|$this pop(int $count = 1)
     * @method LoanLinkedCreditCheck|null pull($key, \Closure $default = null)
     * @method LoanLinkedCreditCheck|null last(callable $callback = null, \Closure $default = null)
     * @method LoanLinkedCreditCheck|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanLinkedCreditCheck|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanLinkedCreditCheck|null get($key, \Closure $default = null)
     * @method LoanLinkedCreditCheck|null first(callable $callback = null, \Closure $default = null)
     * @method LoanLinkedCreditCheck|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanLinkedCreditCheck|null find($key, $default = null)
     * @method LoanLinkedCreditCheck[] all()
     */
    class _IH_LoanLinkedCreditCheck_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanLinkedCreditCheck[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanLinkedCreditCheck_QB whereId($value)
     * @method _IH_LoanLinkedCreditCheck_QB whereLoanId($value)
     * @method _IH_LoanLinkedCreditCheck_QB whereLoanCreditCheckId($value)
     * @method _IH_LoanLinkedCreditCheck_QB whereCreatedAt($value)
     * @method _IH_LoanLinkedCreditCheck_QB whereUpdatedAt($value)
     * @method LoanLinkedCreditCheck baseSole(array|string $columns = ['*'])
     * @method LoanLinkedCreditCheck create(array $attributes = [])
     * @method LoanLinkedCreditCheck createOrFirst(array $attributes = [], array $values = [])
     * @method LoanLinkedCreditCheck createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanLinkedCreditCheck_C|LoanLinkedCreditCheck[] cursor()
     * @method LoanLinkedCreditCheck|null|_IH_LoanLinkedCreditCheck_C|LoanLinkedCreditCheck[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanLinkedCreditCheck_C|LoanLinkedCreditCheck[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanLinkedCreditCheck|_IH_LoanLinkedCreditCheck_C|LoanLinkedCreditCheck[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanLinkedCreditCheck|_IH_LoanLinkedCreditCheck_C|LoanLinkedCreditCheck[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanLinkedCreditCheck|_IH_LoanLinkedCreditCheck_C|LoanLinkedCreditCheck[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanLinkedCreditCheck first(array|string $columns = ['*'])
     * @method LoanLinkedCreditCheck firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanLinkedCreditCheck firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanLinkedCreditCheck firstOrFail(array|string $columns = ['*'])
     * @method LoanLinkedCreditCheck firstOrNew(array $attributes = [], array $values = [])
     * @method LoanLinkedCreditCheck firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanLinkedCreditCheck forceCreate(array $attributes)
     * @method LoanLinkedCreditCheck forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanLinkedCreditCheck_C|LoanLinkedCreditCheck[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanLinkedCreditCheck_C|LoanLinkedCreditCheck[] get(array|string $columns = ['*'])
     * @method LoanLinkedCreditCheck getModel()
     * @method LoanLinkedCreditCheck[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanLinkedCreditCheck_C|LoanLinkedCreditCheck[] hydrate(array $items)
     * @method _IH_LoanLinkedCreditCheck_C|LoanLinkedCreditCheck[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanLinkedCreditCheck_C|LoanLinkedCreditCheck[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanLinkedCreditCheck_C|LoanLinkedCreditCheck[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanLinkedCreditCheck make(array $attributes = [])
     * @method LoanLinkedCreditCheck newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanLinkedCreditCheck[]|_IH_LoanLinkedCreditCheck_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanLinkedCreditCheck restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanLinkedCreditCheck[]|_IH_LoanLinkedCreditCheck_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanLinkedCreditCheck sole(array|string $columns = ['*'])
     * @method LoanLinkedCreditCheck updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanLinkedCreditCheck_QB extends _BaseBuilder {}
    
    /**
     * @method LoanNote|null getOrPut($key, \Closure $value)
     * @method LoanNote|$this shift(int $count = 1)
     * @method LoanNote|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanNote|$this pop(int $count = 1)
     * @method LoanNote|null pull($key, \Closure $default = null)
     * @method LoanNote|null last(callable $callback = null, \Closure $default = null)
     * @method LoanNote|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanNote|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanNote|null get($key, \Closure $default = null)
     * @method LoanNote|null first(callable $callback = null, \Closure $default = null)
     * @method LoanNote|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanNote|null find($key, $default = null)
     * @method LoanNote[] all()
     */
    class _IH_LoanNote_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanNote[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanNote_QB whereId($value)
     * @method _IH_LoanNote_QB whereCreatedById($value)
     * @method _IH_LoanNote_QB whereLoanId($value)
     * @method _IH_LoanNote_QB whereName($value)
     * @method _IH_LoanNote_QB whereDescription($value)
     * @method _IH_LoanNote_QB whereCreatedAt($value)
     * @method _IH_LoanNote_QB whereUpdatedAt($value)
     * @method LoanNote baseSole(array|string $columns = ['*'])
     * @method LoanNote create(array $attributes = [])
     * @method LoanNote createOrFirst(array $attributes = [], array $values = [])
     * @method LoanNote createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanNote_C|LoanNote[] cursor()
     * @method LoanNote|null|_IH_LoanNote_C|LoanNote[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanNote_C|LoanNote[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanNote|_IH_LoanNote_C|LoanNote[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanNote|_IH_LoanNote_C|LoanNote[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanNote|_IH_LoanNote_C|LoanNote[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanNote first(array|string $columns = ['*'])
     * @method LoanNote firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanNote firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanNote firstOrFail(array|string $columns = ['*'])
     * @method LoanNote firstOrNew(array $attributes = [], array $values = [])
     * @method LoanNote firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanNote forceCreate(array $attributes)
     * @method LoanNote forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanNote_C|LoanNote[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanNote_C|LoanNote[] get(array|string $columns = ['*'])
     * @method LoanNote getModel()
     * @method LoanNote[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanNote_C|LoanNote[] hydrate(array $items)
     * @method _IH_LoanNote_C|LoanNote[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanNote_C|LoanNote[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanNote_C|LoanNote[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanNote make(array $attributes = [])
     * @method LoanNote newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanNote[]|_IH_LoanNote_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanNote restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanNote[]|_IH_LoanNote_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanNote sole(array|string $columns = ['*'])
     * @method LoanNote updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanNote_QB extends _BaseBuilder {}
    
    /**
     * @method LoanOfficerHistory|null getOrPut($key, \Closure $value)
     * @method LoanOfficerHistory|$this shift(int $count = 1)
     * @method LoanOfficerHistory|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanOfficerHistory|$this pop(int $count = 1)
     * @method LoanOfficerHistory|null pull($key, \Closure $default = null)
     * @method LoanOfficerHistory|null last(callable $callback = null, \Closure $default = null)
     * @method LoanOfficerHistory|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanOfficerHistory|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanOfficerHistory|null get($key, \Closure $default = null)
     * @method LoanOfficerHistory|null first(callable $callback = null, \Closure $default = null)
     * @method LoanOfficerHistory|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanOfficerHistory|null find($key, $default = null)
     * @method LoanOfficerHistory[] all()
     */
    class _IH_LoanOfficerHistory_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanOfficerHistory[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanOfficerHistory_QB whereId($value)
     * @method _IH_LoanOfficerHistory_QB whereLoanId($value)
     * @method _IH_LoanOfficerHistory_QB whereCreatedById($value)
     * @method _IH_LoanOfficerHistory_QB whereLoanOfficerId($value)
     * @method _IH_LoanOfficerHistory_QB whereStartDate($value)
     * @method _IH_LoanOfficerHistory_QB whereEndDate($value)
     * @method _IH_LoanOfficerHistory_QB whereCreatedAt($value)
     * @method _IH_LoanOfficerHistory_QB whereUpdatedAt($value)
     * @method LoanOfficerHistory baseSole(array|string $columns = ['*'])
     * @method LoanOfficerHistory create(array $attributes = [])
     * @method LoanOfficerHistory createOrFirst(array $attributes = [], array $values = [])
     * @method LoanOfficerHistory createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanOfficerHistory_C|LoanOfficerHistory[] cursor()
     * @method LoanOfficerHistory|null|_IH_LoanOfficerHistory_C|LoanOfficerHistory[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanOfficerHistory_C|LoanOfficerHistory[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanOfficerHistory|_IH_LoanOfficerHistory_C|LoanOfficerHistory[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanOfficerHistory|_IH_LoanOfficerHistory_C|LoanOfficerHistory[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanOfficerHistory|_IH_LoanOfficerHistory_C|LoanOfficerHistory[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanOfficerHistory first(array|string $columns = ['*'])
     * @method LoanOfficerHistory firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanOfficerHistory firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanOfficerHistory firstOrFail(array|string $columns = ['*'])
     * @method LoanOfficerHistory firstOrNew(array $attributes = [], array $values = [])
     * @method LoanOfficerHistory firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanOfficerHistory forceCreate(array $attributes)
     * @method LoanOfficerHistory forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanOfficerHistory_C|LoanOfficerHistory[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanOfficerHistory_C|LoanOfficerHistory[] get(array|string $columns = ['*'])
     * @method LoanOfficerHistory getModel()
     * @method LoanOfficerHistory[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanOfficerHistory_C|LoanOfficerHistory[] hydrate(array $items)
     * @method _IH_LoanOfficerHistory_C|LoanOfficerHistory[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanOfficerHistory_C|LoanOfficerHistory[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanOfficerHistory_C|LoanOfficerHistory[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanOfficerHistory make(array $attributes = [])
     * @method LoanOfficerHistory newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanOfficerHistory[]|_IH_LoanOfficerHistory_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanOfficerHistory restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanOfficerHistory[]|_IH_LoanOfficerHistory_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanOfficerHistory sole(array|string $columns = ['*'])
     * @method LoanOfficerHistory updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanOfficerHistory_QB extends _BaseBuilder {}
    
    /**
     * @method LoanProductLinkedCharge|null getOrPut($key, \Closure $value)
     * @method LoanProductLinkedCharge|$this shift(int $count = 1)
     * @method LoanProductLinkedCharge|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanProductLinkedCharge|$this pop(int $count = 1)
     * @method LoanProductLinkedCharge|null pull($key, \Closure $default = null)
     * @method LoanProductLinkedCharge|null last(callable $callback = null, \Closure $default = null)
     * @method LoanProductLinkedCharge|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanProductLinkedCharge|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanProductLinkedCharge|null get($key, \Closure $default = null)
     * @method LoanProductLinkedCharge|null first(callable $callback = null, \Closure $default = null)
     * @method LoanProductLinkedCharge|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanProductLinkedCharge|null find($key, $default = null)
     * @method LoanProductLinkedCharge[] all()
     */
    class _IH_LoanProductLinkedCharge_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanProductLinkedCharge[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanProductLinkedCharge_QB whereId($value)
     * @method _IH_LoanProductLinkedCharge_QB whereLoanProductId($value)
     * @method _IH_LoanProductLinkedCharge_QB whereLoanChargeId($value)
     * @method _IH_LoanProductLinkedCharge_QB whereCreatedAt($value)
     * @method _IH_LoanProductLinkedCharge_QB whereUpdatedAt($value)
     * @method LoanProductLinkedCharge baseSole(array|string $columns = ['*'])
     * @method LoanProductLinkedCharge create(array $attributes = [])
     * @method LoanProductLinkedCharge createOrFirst(array $attributes = [], array $values = [])
     * @method LoanProductLinkedCharge createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanProductLinkedCharge_C|LoanProductLinkedCharge[] cursor()
     * @method LoanProductLinkedCharge|null|_IH_LoanProductLinkedCharge_C|LoanProductLinkedCharge[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanProductLinkedCharge_C|LoanProductLinkedCharge[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanProductLinkedCharge|_IH_LoanProductLinkedCharge_C|LoanProductLinkedCharge[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanProductLinkedCharge|_IH_LoanProductLinkedCharge_C|LoanProductLinkedCharge[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanProductLinkedCharge|_IH_LoanProductLinkedCharge_C|LoanProductLinkedCharge[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanProductLinkedCharge first(array|string $columns = ['*'])
     * @method LoanProductLinkedCharge firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanProductLinkedCharge firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanProductLinkedCharge firstOrFail(array|string $columns = ['*'])
     * @method LoanProductLinkedCharge firstOrNew(array $attributes = [], array $values = [])
     * @method LoanProductLinkedCharge firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanProductLinkedCharge forceCreate(array $attributes)
     * @method LoanProductLinkedCharge forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanProductLinkedCharge_C|LoanProductLinkedCharge[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanProductLinkedCharge_C|LoanProductLinkedCharge[] get(array|string $columns = ['*'])
     * @method LoanProductLinkedCharge getModel()
     * @method LoanProductLinkedCharge[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanProductLinkedCharge_C|LoanProductLinkedCharge[] hydrate(array $items)
     * @method _IH_LoanProductLinkedCharge_C|LoanProductLinkedCharge[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanProductLinkedCharge_C|LoanProductLinkedCharge[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanProductLinkedCharge_C|LoanProductLinkedCharge[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanProductLinkedCharge make(array $attributes = [])
     * @method LoanProductLinkedCharge newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanProductLinkedCharge[]|_IH_LoanProductLinkedCharge_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanProductLinkedCharge restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanProductLinkedCharge[]|_IH_LoanProductLinkedCharge_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanProductLinkedCharge sole(array|string $columns = ['*'])
     * @method LoanProductLinkedCharge updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanProductLinkedCharge_QB extends _BaseBuilder {}
    
    /**
     * @method LoanProductLinkedCreditCheck|null getOrPut($key, \Closure $value)
     * @method LoanProductLinkedCreditCheck|$this shift(int $count = 1)
     * @method LoanProductLinkedCreditCheck|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanProductLinkedCreditCheck|$this pop(int $count = 1)
     * @method LoanProductLinkedCreditCheck|null pull($key, \Closure $default = null)
     * @method LoanProductLinkedCreditCheck|null last(callable $callback = null, \Closure $default = null)
     * @method LoanProductLinkedCreditCheck|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanProductLinkedCreditCheck|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanProductLinkedCreditCheck|null get($key, \Closure $default = null)
     * @method LoanProductLinkedCreditCheck|null first(callable $callback = null, \Closure $default = null)
     * @method LoanProductLinkedCreditCheck|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanProductLinkedCreditCheck|null find($key, $default = null)
     * @method LoanProductLinkedCreditCheck[] all()
     */
    class _IH_LoanProductLinkedCreditCheck_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanProductLinkedCreditCheck[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanProductLinkedCreditCheck_QB whereId($value)
     * @method _IH_LoanProductLinkedCreditCheck_QB whereLoanProductId($value)
     * @method _IH_LoanProductLinkedCreditCheck_QB whereLoanCreditCheckId($value)
     * @method _IH_LoanProductLinkedCreditCheck_QB whereCheckOrder($value)
     * @method _IH_LoanProductLinkedCreditCheck_QB whereCreatedAt($value)
     * @method _IH_LoanProductLinkedCreditCheck_QB whereUpdatedAt($value)
     * @method LoanProductLinkedCreditCheck baseSole(array|string $columns = ['*'])
     * @method LoanProductLinkedCreditCheck create(array $attributes = [])
     * @method LoanProductLinkedCreditCheck createOrFirst(array $attributes = [], array $values = [])
     * @method LoanProductLinkedCreditCheck createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanProductLinkedCreditCheck_C|LoanProductLinkedCreditCheck[] cursor()
     * @method LoanProductLinkedCreditCheck|null|_IH_LoanProductLinkedCreditCheck_C|LoanProductLinkedCreditCheck[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanProductLinkedCreditCheck_C|LoanProductLinkedCreditCheck[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanProductLinkedCreditCheck|_IH_LoanProductLinkedCreditCheck_C|LoanProductLinkedCreditCheck[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanProductLinkedCreditCheck|_IH_LoanProductLinkedCreditCheck_C|LoanProductLinkedCreditCheck[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanProductLinkedCreditCheck|_IH_LoanProductLinkedCreditCheck_C|LoanProductLinkedCreditCheck[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanProductLinkedCreditCheck first(array|string $columns = ['*'])
     * @method LoanProductLinkedCreditCheck firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanProductLinkedCreditCheck firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanProductLinkedCreditCheck firstOrFail(array|string $columns = ['*'])
     * @method LoanProductLinkedCreditCheck firstOrNew(array $attributes = [], array $values = [])
     * @method LoanProductLinkedCreditCheck firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanProductLinkedCreditCheck forceCreate(array $attributes)
     * @method LoanProductLinkedCreditCheck forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanProductLinkedCreditCheck_C|LoanProductLinkedCreditCheck[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanProductLinkedCreditCheck_C|LoanProductLinkedCreditCheck[] get(array|string $columns = ['*'])
     * @method LoanProductLinkedCreditCheck getModel()
     * @method LoanProductLinkedCreditCheck[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanProductLinkedCreditCheck_C|LoanProductLinkedCreditCheck[] hydrate(array $items)
     * @method _IH_LoanProductLinkedCreditCheck_C|LoanProductLinkedCreditCheck[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanProductLinkedCreditCheck_C|LoanProductLinkedCreditCheck[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanProductLinkedCreditCheck_C|LoanProductLinkedCreditCheck[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanProductLinkedCreditCheck make(array $attributes = [])
     * @method LoanProductLinkedCreditCheck newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanProductLinkedCreditCheck[]|_IH_LoanProductLinkedCreditCheck_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanProductLinkedCreditCheck restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanProductLinkedCreditCheck[]|_IH_LoanProductLinkedCreditCheck_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanProductLinkedCreditCheck sole(array|string $columns = ['*'])
     * @method LoanProductLinkedCreditCheck updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanProductLinkedCreditCheck_QB extends _BaseBuilder {}
    
    /**
     * @method LoanProduct|null getOrPut($key, \Closure $value)
     * @method LoanProduct|$this shift(int $count = 1)
     * @method LoanProduct|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanProduct|$this pop(int $count = 1)
     * @method LoanProduct|null pull($key, \Closure $default = null)
     * @method LoanProduct|null last(callable $callback = null, \Closure $default = null)
     * @method LoanProduct|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanProduct|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanProduct|null get($key, \Closure $default = null)
     * @method LoanProduct|null first(callable $callback = null, \Closure $default = null)
     * @method LoanProduct|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanProduct|null find($key, $default = null)
     * @method LoanProduct[] all()
     */
    class _IH_LoanProduct_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanProduct[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanProduct_QB whereId($value)
     * @method _IH_LoanProduct_QB whereCreatedById($value)
     * @method _IH_LoanProduct_QB whereCurrencyId($value)
     * @method _IH_LoanProduct_QB whereLoanDisbursementChannelId($value)
     * @method _IH_LoanProduct_QB whereLoanTransactionProcessingStrategyId($value)
     * @method _IH_LoanProduct_QB whereFundId($value)
     * @method _IH_LoanProduct_QB whereFundSourceChartOfAccountId($value)
     * @method _IH_LoanProduct_QB whereLoanPortfolioChartOfAccountId($value)
     * @method _IH_LoanProduct_QB whereInterestReceivableChartOfAccountId($value)
     * @method _IH_LoanProduct_QB wherePenaltiesReceivableChartOfAccountId($value)
     * @method _IH_LoanProduct_QB whereFeesReceivableChartOfAccountId($value)
     * @method _IH_LoanProduct_QB whereFeesChartOfAccountId($value)
     * @method _IH_LoanProduct_QB whereOverpaymentsChartOfAccountId($value)
     * @method _IH_LoanProduct_QB whereSuspendedIncomeChartOfAccountId($value)
     * @method _IH_LoanProduct_QB whereIncomeFromInterestChartOfAccountId($value)
     * @method _IH_LoanProduct_QB whereIncomeFromPenaltiesChartOfAccountId($value)
     * @method _IH_LoanProduct_QB whereIncomeFromFeesChartOfAccountId($value)
     * @method _IH_LoanProduct_QB whereIncomeFromRecoveryChartOfAccountId($value)
     * @method _IH_LoanProduct_QB whereLossesWrittenOffChartOfAccountId($value)
     * @method _IH_LoanProduct_QB whereInterestWrittenOffChartOfAccountId($value)
     * @method _IH_LoanProduct_QB whereName($value)
     * @method _IH_LoanProduct_QB whereShortName($value)
     * @method _IH_LoanProduct_QB whereDescription($value)
     * @method _IH_LoanProduct_QB whereDecimals($value)
     * @method _IH_LoanProduct_QB whereInstalmentMultipleOf($value)
     * @method _IH_LoanProduct_QB whereMinimumPrincipal($value)
     * @method _IH_LoanProduct_QB whereDefaultPrincipal($value)
     * @method _IH_LoanProduct_QB whereMaximumPrincipal($value)
     * @method _IH_LoanProduct_QB whereMinimumLoanTerm($value)
     * @method _IH_LoanProduct_QB whereDefaultLoanTerm($value)
     * @method _IH_LoanProduct_QB whereMaximumLoanTerm($value)
     * @method _IH_LoanProduct_QB whereRepaymentFrequency($value)
     * @method _IH_LoanProduct_QB whereRepaymentFrequencyType($value)
     * @method _IH_LoanProduct_QB whereMinimumInterestRate($value)
     * @method _IH_LoanProduct_QB whereDefaultInterestRate($value)
     * @method _IH_LoanProduct_QB whereMaximumInterestRate($value)
     * @method _IH_LoanProduct_QB whereInterestRateType($value)
     * @method _IH_LoanProduct_QB whereEnableBalloonPayments($value)
     * @method _IH_LoanProduct_QB whereAllowScheduleAdjustments($value)
     * @method _IH_LoanProduct_QB whereGraceOnPrincipalPaid($value)
     * @method _IH_LoanProduct_QB whereGraceOnInterestPaid($value)
     * @method _IH_LoanProduct_QB whereGraceOnInterestCharged($value)
     * @method _IH_LoanProduct_QB whereAllowCustomGracePeriod($value)
     * @method _IH_LoanProduct_QB whereAllowTopup($value)
     * @method _IH_LoanProduct_QB whereInterestMethodology($value)
     * @method _IH_LoanProduct_QB whereInterestRecalculation($value)
     * @method _IH_LoanProduct_QB whereAmortizationMethod($value)
     * @method _IH_LoanProduct_QB whereInterestCalculationPeriodType($value)
     * @method _IH_LoanProduct_QB whereDaysInYear($value)
     * @method _IH_LoanProduct_QB whereDaysInMonth($value)
     * @method _IH_LoanProduct_QB whereIncludeInLoanCycle($value)
     * @method _IH_LoanProduct_QB whereLockGuaranteeFunds($value)
     * @method _IH_LoanProduct_QB whereAutoAllocateOverpayments($value)
     * @method _IH_LoanProduct_QB whereAllowAdditionalCharges($value)
     * @method _IH_LoanProduct_QB whereAutoDisburse($value)
     * @method _IH_LoanProduct_QB whereRequireLinkedSavingsAccount($value)
     * @method _IH_LoanProduct_QB whereMinAmount($value)
     * @method _IH_LoanProduct_QB whereMaxAmount($value)
     * @method _IH_LoanProduct_QB whereAccountingRule($value)
     * @method _IH_LoanProduct_QB whereNpaOverdueDays($value)
     * @method _IH_LoanProduct_QB whereNpaSuspendAccruedIncome($value)
     * @method _IH_LoanProduct_QB whereActive($value)
     * @method _IH_LoanProduct_QB whereCreatedAt($value)
     * @method _IH_LoanProduct_QB whereUpdatedAt($value)
     * @method _IH_LoanProduct_QB whereDeductInterestFromPrincipal($value)
     * @method _IH_LoanProduct_QB whereDisallowInterestRateAdjustment($value)
     * @method _IH_LoanProduct_QB whereExcludeWeekends($value)
     * @method _IH_LoanProduct_QB whereExcludeHolidays($value)
     * @method LoanProduct baseSole(array|string $columns = ['*'])
     * @method LoanProduct create(array $attributes = [])
     * @method LoanProduct createOrFirst(array $attributes = [], array $values = [])
     * @method LoanProduct createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanProduct_C|LoanProduct[] cursor()
     * @method LoanProduct|null|_IH_LoanProduct_C|LoanProduct[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanProduct_C|LoanProduct[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanProduct|_IH_LoanProduct_C|LoanProduct[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanProduct|_IH_LoanProduct_C|LoanProduct[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanProduct|_IH_LoanProduct_C|LoanProduct[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanProduct first(array|string $columns = ['*'])
     * @method LoanProduct firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanProduct firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanProduct firstOrFail(array|string $columns = ['*'])
     * @method LoanProduct firstOrNew(array $attributes = [], array $values = [])
     * @method LoanProduct firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanProduct forceCreate(array $attributes)
     * @method LoanProduct forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanProduct_C|LoanProduct[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanProduct_C|LoanProduct[] get(array|string $columns = ['*'])
     * @method LoanProduct getModel()
     * @method LoanProduct[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanProduct_C|LoanProduct[] hydrate(array $items)
     * @method _IH_LoanProduct_C|LoanProduct[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanProduct_C|LoanProduct[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanProduct_C|LoanProduct[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanProduct make(array $attributes = [])
     * @method LoanProduct newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanProduct[]|_IH_LoanProduct_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanProduct restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanProduct[]|_IH_LoanProduct_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanProduct sole(array|string $columns = ['*'])
     * @method LoanProduct updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanProduct_QB extends _BaseBuilder {}
    
    /**
     * @method LoanProvisioning|null getOrPut($key, \Closure $value)
     * @method LoanProvisioning|$this shift(int $count = 1)
     * @method LoanProvisioning|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanProvisioning|$this pop(int $count = 1)
     * @method LoanProvisioning|null pull($key, \Closure $default = null)
     * @method LoanProvisioning|null last(callable $callback = null, \Closure $default = null)
     * @method LoanProvisioning|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanProvisioning|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanProvisioning|null get($key, \Closure $default = null)
     * @method LoanProvisioning|null first(callable $callback = null, \Closure $default = null)
     * @method LoanProvisioning|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanProvisioning|null find($key, $default = null)
     * @method LoanProvisioning[] all()
     */
    class _IH_LoanProvisioning_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanProvisioning[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanProvisioning_QB whereId($value)
     * @method _IH_LoanProvisioning_QB whereName($value)
     * @method _IH_LoanProvisioning_QB whereLowerLimit($value)
     * @method _IH_LoanProvisioning_QB whereUpperLimit($value)
     * @method _IH_LoanProvisioning_QB wherePercentage($value)
     * @method _IH_LoanProvisioning_QB whereDescription($value)
     * @method _IH_LoanProvisioning_QB whereCreatedAt($value)
     * @method _IH_LoanProvisioning_QB whereUpdatedAt($value)
     * @method LoanProvisioning baseSole(array|string $columns = ['*'])
     * @method LoanProvisioning create(array $attributes = [])
     * @method LoanProvisioning createOrFirst(array $attributes = [], array $values = [])
     * @method LoanProvisioning createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanProvisioning_C|LoanProvisioning[] cursor()
     * @method LoanProvisioning|null|_IH_LoanProvisioning_C|LoanProvisioning[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanProvisioning_C|LoanProvisioning[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanProvisioning|_IH_LoanProvisioning_C|LoanProvisioning[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanProvisioning|_IH_LoanProvisioning_C|LoanProvisioning[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanProvisioning|_IH_LoanProvisioning_C|LoanProvisioning[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanProvisioning first(array|string $columns = ['*'])
     * @method LoanProvisioning firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanProvisioning firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanProvisioning firstOrFail(array|string $columns = ['*'])
     * @method LoanProvisioning firstOrNew(array $attributes = [], array $values = [])
     * @method LoanProvisioning firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanProvisioning forceCreate(array $attributes)
     * @method LoanProvisioning forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanProvisioning_C|LoanProvisioning[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanProvisioning_C|LoanProvisioning[] get(array|string $columns = ['*'])
     * @method LoanProvisioning getModel()
     * @method LoanProvisioning[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanProvisioning_C|LoanProvisioning[] hydrate(array $items)
     * @method _IH_LoanProvisioning_C|LoanProvisioning[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanProvisioning_C|LoanProvisioning[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanProvisioning_C|LoanProvisioning[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanProvisioning make(array $attributes = [])
     * @method LoanProvisioning newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanProvisioning[]|_IH_LoanProvisioning_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanProvisioning restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanProvisioning[]|_IH_LoanProvisioning_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanProvisioning sole(array|string $columns = ['*'])
     * @method LoanProvisioning updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanProvisioning_QB extends _BaseBuilder {}
    
    /**
     * @method LoanPurpose|null getOrPut($key, \Closure $value)
     * @method LoanPurpose|$this shift(int $count = 1)
     * @method LoanPurpose|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanPurpose|$this pop(int $count = 1)
     * @method LoanPurpose|null pull($key, \Closure $default = null)
     * @method LoanPurpose|null last(callable $callback = null, \Closure $default = null)
     * @method LoanPurpose|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanPurpose|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanPurpose|null get($key, \Closure $default = null)
     * @method LoanPurpose|null first(callable $callback = null, \Closure $default = null)
     * @method LoanPurpose|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanPurpose|null find($key, $default = null)
     * @method LoanPurpose[] all()
     */
    class _IH_LoanPurpose_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanPurpose[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanPurpose_QB whereId($value)
     * @method _IH_LoanPurpose_QB whereName($value)
     * @method LoanPurpose baseSole(array|string $columns = ['*'])
     * @method LoanPurpose create(array $attributes = [])
     * @method LoanPurpose createOrFirst(array $attributes = [], array $values = [])
     * @method LoanPurpose createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanPurpose_C|LoanPurpose[] cursor()
     * @method LoanPurpose|null|_IH_LoanPurpose_C|LoanPurpose[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanPurpose_C|LoanPurpose[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanPurpose|_IH_LoanPurpose_C|LoanPurpose[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanPurpose|_IH_LoanPurpose_C|LoanPurpose[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanPurpose|_IH_LoanPurpose_C|LoanPurpose[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanPurpose first(array|string $columns = ['*'])
     * @method LoanPurpose firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanPurpose firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanPurpose firstOrFail(array|string $columns = ['*'])
     * @method LoanPurpose firstOrNew(array $attributes = [], array $values = [])
     * @method LoanPurpose firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanPurpose forceCreate(array $attributes)
     * @method LoanPurpose forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanPurpose_C|LoanPurpose[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanPurpose_C|LoanPurpose[] get(array|string $columns = ['*'])
     * @method LoanPurpose getModel()
     * @method LoanPurpose[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanPurpose_C|LoanPurpose[] hydrate(array $items)
     * @method _IH_LoanPurpose_C|LoanPurpose[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanPurpose_C|LoanPurpose[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanPurpose_C|LoanPurpose[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanPurpose make(array $attributes = [])
     * @method LoanPurpose newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanPurpose[]|_IH_LoanPurpose_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanPurpose restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanPurpose[]|_IH_LoanPurpose_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanPurpose sole(array|string $columns = ['*'])
     * @method LoanPurpose updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanPurpose_QB extends _BaseBuilder {}
    
    /**
     * @method LoanRepaymentSchedule|null getOrPut($key, \Closure $value)
     * @method LoanRepaymentSchedule|$this shift(int $count = 1)
     * @method LoanRepaymentSchedule|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanRepaymentSchedule|$this pop(int $count = 1)
     * @method LoanRepaymentSchedule|null pull($key, \Closure $default = null)
     * @method LoanRepaymentSchedule|null last(callable $callback = null, \Closure $default = null)
     * @method LoanRepaymentSchedule|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanRepaymentSchedule|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanRepaymentSchedule|null get($key, \Closure $default = null)
     * @method LoanRepaymentSchedule|null first(callable $callback = null, \Closure $default = null)
     * @method LoanRepaymentSchedule|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanRepaymentSchedule|null find($key, $default = null)
     * @method LoanRepaymentSchedule[] all()
     */
    class _IH_LoanRepaymentSchedule_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanRepaymentSchedule[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanRepaymentSchedule_QB whereId($value)
     * @method _IH_LoanRepaymentSchedule_QB whereCreatedById($value)
     * @method _IH_LoanRepaymentSchedule_QB whereLoanId($value)
     * @method _IH_LoanRepaymentSchedule_QB wherePaidByDate($value)
     * @method _IH_LoanRepaymentSchedule_QB whereFromDate($value)
     * @method _IH_LoanRepaymentSchedule_QB whereDueDate($value)
     * @method _IH_LoanRepaymentSchedule_QB whereInstallment($value)
     * @method _IH_LoanRepaymentSchedule_QB wherePrincipal($value)
     * @method _IH_LoanRepaymentSchedule_QB wherePrincipalRepaidDerived($value)
     * @method _IH_LoanRepaymentSchedule_QB wherePrincipalWrittenOffDerived($value)
     * @method _IH_LoanRepaymentSchedule_QB whereInterest($value)
     * @method _IH_LoanRepaymentSchedule_QB whereInterestRepaidDerived($value)
     * @method _IH_LoanRepaymentSchedule_QB whereInterestWrittenOffDerived($value)
     * @method _IH_LoanRepaymentSchedule_QB whereInterestWaivedDerived($value)
     * @method _IH_LoanRepaymentSchedule_QB whereFees($value)
     * @method _IH_LoanRepaymentSchedule_QB whereFeesRepaidDerived($value)
     * @method _IH_LoanRepaymentSchedule_QB whereFeesWrittenOffDerived($value)
     * @method _IH_LoanRepaymentSchedule_QB whereFeesWaivedDerived($value)
     * @method _IH_LoanRepaymentSchedule_QB wherePenalties($value)
     * @method _IH_LoanRepaymentSchedule_QB wherePenaltiesRepaidDerived($value)
     * @method _IH_LoanRepaymentSchedule_QB wherePenaltiesWrittenOffDerived($value)
     * @method _IH_LoanRepaymentSchedule_QB wherePenaltiesWaivedDerived($value)
     * @method _IH_LoanRepaymentSchedule_QB whereTotalDue($value)
     * @method _IH_LoanRepaymentSchedule_QB whereCreatedAt($value)
     * @method _IH_LoanRepaymentSchedule_QB whereUpdatedAt($value)
     * @method LoanRepaymentSchedule baseSole(array|string $columns = ['*'])
     * @method LoanRepaymentSchedule create(array $attributes = [])
     * @method LoanRepaymentSchedule createOrFirst(array $attributes = [], array $values = [])
     * @method LoanRepaymentSchedule createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanRepaymentSchedule_C|LoanRepaymentSchedule[] cursor()
     * @method LoanRepaymentSchedule|null|_IH_LoanRepaymentSchedule_C|LoanRepaymentSchedule[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanRepaymentSchedule_C|LoanRepaymentSchedule[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanRepaymentSchedule|_IH_LoanRepaymentSchedule_C|LoanRepaymentSchedule[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanRepaymentSchedule|_IH_LoanRepaymentSchedule_C|LoanRepaymentSchedule[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanRepaymentSchedule|_IH_LoanRepaymentSchedule_C|LoanRepaymentSchedule[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanRepaymentSchedule first(array|string $columns = ['*'])
     * @method LoanRepaymentSchedule firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanRepaymentSchedule firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanRepaymentSchedule firstOrFail(array|string $columns = ['*'])
     * @method LoanRepaymentSchedule firstOrNew(array $attributes = [], array $values = [])
     * @method LoanRepaymentSchedule firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanRepaymentSchedule forceCreate(array $attributes)
     * @method LoanRepaymentSchedule forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanRepaymentSchedule_C|LoanRepaymentSchedule[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanRepaymentSchedule_C|LoanRepaymentSchedule[] get(array|string $columns = ['*'])
     * @method LoanRepaymentSchedule getModel()
     * @method LoanRepaymentSchedule[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanRepaymentSchedule_C|LoanRepaymentSchedule[] hydrate(array $items)
     * @method _IH_LoanRepaymentSchedule_C|LoanRepaymentSchedule[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanRepaymentSchedule_C|LoanRepaymentSchedule[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanRepaymentSchedule_C|LoanRepaymentSchedule[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanRepaymentSchedule make(array $attributes = [])
     * @method LoanRepaymentSchedule newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanRepaymentSchedule[]|_IH_LoanRepaymentSchedule_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanRepaymentSchedule restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanRepaymentSchedule[]|_IH_LoanRepaymentSchedule_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanRepaymentSchedule sole(array|string $columns = ['*'])
     * @method LoanRepaymentSchedule updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanRepaymentSchedule_QB extends _BaseBuilder {}
    
    /**
     * @method LoanTransactionProcessingStrategy|null getOrPut($key, \Closure $value)
     * @method LoanTransactionProcessingStrategy|$this shift(int $count = 1)
     * @method LoanTransactionProcessingStrategy|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanTransactionProcessingStrategy|$this pop(int $count = 1)
     * @method LoanTransactionProcessingStrategy|null pull($key, \Closure $default = null)
     * @method LoanTransactionProcessingStrategy|null last(callable $callback = null, \Closure $default = null)
     * @method LoanTransactionProcessingStrategy|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanTransactionProcessingStrategy|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanTransactionProcessingStrategy|null get($key, \Closure $default = null)
     * @method LoanTransactionProcessingStrategy|null first(callable $callback = null, \Closure $default = null)
     * @method LoanTransactionProcessingStrategy|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanTransactionProcessingStrategy|null find($key, $default = null)
     * @method LoanTransactionProcessingStrategy[] all()
     */
    class _IH_LoanTransactionProcessingStrategy_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanTransactionProcessingStrategy[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanTransactionProcessingStrategy_QB whereId($value)
     * @method _IH_LoanTransactionProcessingStrategy_QB whereName($value)
     * @method _IH_LoanTransactionProcessingStrategy_QB whereTranslatedName($value)
     * @method _IH_LoanTransactionProcessingStrategy_QB whereActive($value)
     * @method LoanTransactionProcessingStrategy baseSole(array|string $columns = ['*'])
     * @method LoanTransactionProcessingStrategy create(array $attributes = [])
     * @method LoanTransactionProcessingStrategy createOrFirst(array $attributes = [], array $values = [])
     * @method LoanTransactionProcessingStrategy createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanTransactionProcessingStrategy_C|LoanTransactionProcessingStrategy[] cursor()
     * @method LoanTransactionProcessingStrategy|null|_IH_LoanTransactionProcessingStrategy_C|LoanTransactionProcessingStrategy[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanTransactionProcessingStrategy_C|LoanTransactionProcessingStrategy[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanTransactionProcessingStrategy|_IH_LoanTransactionProcessingStrategy_C|LoanTransactionProcessingStrategy[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanTransactionProcessingStrategy|_IH_LoanTransactionProcessingStrategy_C|LoanTransactionProcessingStrategy[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanTransactionProcessingStrategy|_IH_LoanTransactionProcessingStrategy_C|LoanTransactionProcessingStrategy[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanTransactionProcessingStrategy first(array|string $columns = ['*'])
     * @method LoanTransactionProcessingStrategy firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanTransactionProcessingStrategy firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanTransactionProcessingStrategy firstOrFail(array|string $columns = ['*'])
     * @method LoanTransactionProcessingStrategy firstOrNew(array $attributes = [], array $values = [])
     * @method LoanTransactionProcessingStrategy firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanTransactionProcessingStrategy forceCreate(array $attributes)
     * @method LoanTransactionProcessingStrategy forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanTransactionProcessingStrategy_C|LoanTransactionProcessingStrategy[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanTransactionProcessingStrategy_C|LoanTransactionProcessingStrategy[] get(array|string $columns = ['*'])
     * @method LoanTransactionProcessingStrategy getModel()
     * @method LoanTransactionProcessingStrategy[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanTransactionProcessingStrategy_C|LoanTransactionProcessingStrategy[] hydrate(array $items)
     * @method _IH_LoanTransactionProcessingStrategy_C|LoanTransactionProcessingStrategy[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanTransactionProcessingStrategy_C|LoanTransactionProcessingStrategy[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanTransactionProcessingStrategy_C|LoanTransactionProcessingStrategy[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanTransactionProcessingStrategy make(array $attributes = [])
     * @method LoanTransactionProcessingStrategy newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanTransactionProcessingStrategy[]|_IH_LoanTransactionProcessingStrategy_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanTransactionProcessingStrategy restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanTransactionProcessingStrategy[]|_IH_LoanTransactionProcessingStrategy_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanTransactionProcessingStrategy sole(array|string $columns = ['*'])
     * @method LoanTransactionProcessingStrategy updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanTransactionProcessingStrategy_QB extends _BaseBuilder {}
    
    /**
     * @method LoanTransactionType|null getOrPut($key, \Closure $value)
     * @method LoanTransactionType|$this shift(int $count = 1)
     * @method LoanTransactionType|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanTransactionType|$this pop(int $count = 1)
     * @method LoanTransactionType|null pull($key, \Closure $default = null)
     * @method LoanTransactionType|null last(callable $callback = null, \Closure $default = null)
     * @method LoanTransactionType|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanTransactionType|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanTransactionType|null get($key, \Closure $default = null)
     * @method LoanTransactionType|null first(callable $callback = null, \Closure $default = null)
     * @method LoanTransactionType|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanTransactionType|null find($key, $default = null)
     * @method LoanTransactionType[] all()
     */
    class _IH_LoanTransactionType_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanTransactionType[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanTransactionType_QB whereId($value)
     * @method _IH_LoanTransactionType_QB whereName($value)
     * @method _IH_LoanTransactionType_QB whereTranslatedName($value)
     * @method _IH_LoanTransactionType_QB whereActive($value)
     * @method LoanTransactionType baseSole(array|string $columns = ['*'])
     * @method LoanTransactionType create(array $attributes = [])
     * @method LoanTransactionType createOrFirst(array $attributes = [], array $values = [])
     * @method LoanTransactionType createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanTransactionType_C|LoanTransactionType[] cursor()
     * @method LoanTransactionType|null|_IH_LoanTransactionType_C|LoanTransactionType[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanTransactionType_C|LoanTransactionType[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanTransactionType|_IH_LoanTransactionType_C|LoanTransactionType[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanTransactionType|_IH_LoanTransactionType_C|LoanTransactionType[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanTransactionType|_IH_LoanTransactionType_C|LoanTransactionType[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanTransactionType first(array|string $columns = ['*'])
     * @method LoanTransactionType firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanTransactionType firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanTransactionType firstOrFail(array|string $columns = ['*'])
     * @method LoanTransactionType firstOrNew(array $attributes = [], array $values = [])
     * @method LoanTransactionType firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanTransactionType forceCreate(array $attributes)
     * @method LoanTransactionType forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanTransactionType_C|LoanTransactionType[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanTransactionType_C|LoanTransactionType[] get(array|string $columns = ['*'])
     * @method LoanTransactionType getModel()
     * @method LoanTransactionType[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanTransactionType_C|LoanTransactionType[] hydrate(array $items)
     * @method _IH_LoanTransactionType_C|LoanTransactionType[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanTransactionType_C|LoanTransactionType[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanTransactionType_C|LoanTransactionType[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanTransactionType make(array $attributes = [])
     * @method LoanTransactionType newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanTransactionType[]|_IH_LoanTransactionType_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanTransactionType restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanTransactionType[]|_IH_LoanTransactionType_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanTransactionType sole(array|string $columns = ['*'])
     * @method LoanTransactionType updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanTransactionType_QB extends _BaseBuilder {}
    
    /**
     * @method LoanTransaction|null getOrPut($key, \Closure $value)
     * @method LoanTransaction|$this shift(int $count = 1)
     * @method LoanTransaction|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method LoanTransaction|$this pop(int $count = 1)
     * @method LoanTransaction|null pull($key, \Closure $default = null)
     * @method LoanTransaction|null last(callable $callback = null, \Closure $default = null)
     * @method LoanTransaction|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method LoanTransaction|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method LoanTransaction|null get($key, \Closure $default = null)
     * @method LoanTransaction|null first(callable $callback = null, \Closure $default = null)
     * @method LoanTransaction|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method LoanTransaction|null find($key, $default = null)
     * @method LoanTransaction[] all()
     */
    class _IH_LoanTransaction_C extends _BaseCollection {
        /**
         * @param int $size
         * @return LoanTransaction[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_LoanTransaction_QB whereId($value)
     * @method _IH_LoanTransaction_QB whereLoanId($value)
     * @method _IH_LoanTransaction_QB whereCreatedById($value)
     * @method _IH_LoanTransaction_QB whereBranchId($value)
     * @method _IH_LoanTransaction_QB wherePaymentDetailId($value)
     * @method _IH_LoanTransaction_QB whereName($value)
     * @method _IH_LoanTransaction_QB whereAmount($value)
     * @method _IH_LoanTransaction_QB whereCredit($value)
     * @method _IH_LoanTransaction_QB whereDebit($value)
     * @method _IH_LoanTransaction_QB wherePrincipalRepaidDerived($value)
     * @method _IH_LoanTransaction_QB whereInterestRepaidDerived($value)
     * @method _IH_LoanTransaction_QB whereFeesRepaidDerived($value)
     * @method _IH_LoanTransaction_QB wherePenaltiesRepaidDerived($value)
     * @method _IH_LoanTransaction_QB whereLoanTransactionTypeId($value)
     * @method _IH_LoanTransaction_QB whereReversed($value)
     * @method _IH_LoanTransaction_QB whereReversible($value)
     * @method _IH_LoanTransaction_QB whereSubmittedOn($value)
     * @method _IH_LoanTransaction_QB whereDueDate($value)
     * @method _IH_LoanTransaction_QB whereCreatedOn($value)
     * @method _IH_LoanTransaction_QB whereStatus($value)
     * @method _IH_LoanTransaction_QB whereReference($value)
     * @method _IH_LoanTransaction_QB whereGatewayId($value)
     * @method _IH_LoanTransaction_QB whereDescription($value)
     * @method _IH_LoanTransaction_QB wherePaymentGatewayData($value)
     * @method _IH_LoanTransaction_QB whereOnlineTransaction($value)
     * @method _IH_LoanTransaction_QB whereCreatedAt($value)
     * @method _IH_LoanTransaction_QB whereUpdatedAt($value)
     * @method LoanTransaction baseSole(array|string $columns = ['*'])
     * @method LoanTransaction create(array $attributes = [])
     * @method LoanTransaction createOrFirst(array $attributes = [], array $values = [])
     * @method LoanTransaction createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_LoanTransaction_C|LoanTransaction[] cursor()
     * @method LoanTransaction|null|_IH_LoanTransaction_C|LoanTransaction[] find($id, array|string $columns = ['*'])
     * @method _IH_LoanTransaction_C|LoanTransaction[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method LoanTransaction|_IH_LoanTransaction_C|LoanTransaction[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanTransaction|_IH_LoanTransaction_C|LoanTransaction[] findOrFail($id, array|string $columns = ['*'])
     * @method LoanTransaction|_IH_LoanTransaction_C|LoanTransaction[] findOrNew($id, array|string $columns = ['*'])
     * @method LoanTransaction first(array|string $columns = ['*'])
     * @method LoanTransaction firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method LoanTransaction firstOrCreate(array $attributes = [], array $values = [])
     * @method LoanTransaction firstOrFail(array|string $columns = ['*'])
     * @method LoanTransaction firstOrNew(array $attributes = [], array $values = [])
     * @method LoanTransaction firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method LoanTransaction forceCreate(array $attributes)
     * @method LoanTransaction forceCreateQuietly(array $attributes = [])
     * @method _IH_LoanTransaction_C|LoanTransaction[] fromQuery(string $query, array $bindings = [])
     * @method _IH_LoanTransaction_C|LoanTransaction[] get(array|string $columns = ['*'])
     * @method LoanTransaction getModel()
     * @method LoanTransaction[] getModels(array|string $columns = ['*'])
     * @method _IH_LoanTransaction_C|LoanTransaction[] hydrate(array $items)
     * @method _IH_LoanTransaction_C|LoanTransaction[] lazy(int $chunkSize = 1000)
     * @method _IH_LoanTransaction_C|LoanTransaction[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_LoanTransaction_C|LoanTransaction[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method LoanTransaction make(array $attributes = [])
     * @method LoanTransaction newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|LoanTransaction[]|_IH_LoanTransaction_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanTransaction restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|LoanTransaction[]|_IH_LoanTransaction_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method LoanTransaction sole(array|string $columns = ['*'])
     * @method LoanTransaction updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_LoanTransaction_QB extends _BaseBuilder {}
    
    /**
     * @method Loan|null getOrPut($key, \Closure $value)
     * @method Loan|$this shift(int $count = 1)
     * @method Loan|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Loan|$this pop(int $count = 1)
     * @method Loan|null pull($key, \Closure $default = null)
     * @method Loan|null last(callable $callback = null, \Closure $default = null)
     * @method Loan|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Loan|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method Loan|null get($key, \Closure $default = null)
     * @method Loan|null first(callable $callback = null, \Closure $default = null)
     * @method Loan|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Loan|null find($key, $default = null)
     * @method Loan[] all()
     */
    class _IH_Loan_C extends _BaseCollection {
        /**
         * @param int $size
         * @return Loan[][]
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Loan_QB whereId($value)
     * @method _IH_Loan_QB whereCreatedById($value)
     * @method _IH_Loan_QB whereClientType($value)
     * @method _IH_Loan_QB whereClientId($value)
     * @method _IH_Loan_QB whereGroupId($value)
     * @method _IH_Loan_QB whereBranchId($value)
     * @method _IH_Loan_QB whereCurrencyId($value)
     * @method _IH_Loan_QB whereLoanProductId($value)
     * @method _IH_Loan_QB whereLoanTransactionProcessingStrategyId($value)
     * @method _IH_Loan_QB whereFundId($value)
     * @method _IH_Loan_QB whereLoanPurposeId($value)
     * @method _IH_Loan_QB whereLoanOfficerId($value)
     * @method _IH_Loan_QB whereLinkedSavingsId($value)
     * @method _IH_Loan_QB whereLoanDisbursementChannelId($value)
     * @method _IH_Loan_QB whereSubmittedOnDate($value)
     * @method _IH_Loan_QB whereSubmittedByUserId($value)
     * @method _IH_Loan_QB whereApprovedOnDate($value)
     * @method _IH_Loan_QB whereApprovedByUserId($value)
     * @method _IH_Loan_QB whereApprovedNotes($value)
     * @method _IH_Loan_QB whereExpectedDisbursementDate($value)
     * @method _IH_Loan_QB whereExpectedFirstPaymentDate($value)
     * @method _IH_Loan_QB whereFirstPaymentDate($value)
     * @method _IH_Loan_QB whereExpectedMaturityDate($value)
     * @method _IH_Loan_QB whereDisbursedOnDate($value)
     * @method _IH_Loan_QB whereDisbursedByUserId($value)
     * @method _IH_Loan_QB whereDisbursedNotes($value)
     * @method _IH_Loan_QB whereRejectedOnDate($value)
     * @method _IH_Loan_QB whereRejectedByUserId($value)
     * @method _IH_Loan_QB whereRejectedNotes($value)
     * @method _IH_Loan_QB whereWrittenOffOnDate($value)
     * @method _IH_Loan_QB whereWrittenOffByUserId($value)
     * @method _IH_Loan_QB whereWrittenOffNotes($value)
     * @method _IH_Loan_QB whereClosedOnDate($value)
     * @method _IH_Loan_QB whereClosedByUserId($value)
     * @method _IH_Loan_QB whereClosedNotes($value)
     * @method _IH_Loan_QB whereRescheduledOnDate($value)
     * @method _IH_Loan_QB whereRescheduledByUserId($value)
     * @method _IH_Loan_QB whereRescheduledNotes($value)
     * @method _IH_Loan_QB whereWithdrawnOnDate($value)
     * @method _IH_Loan_QB whereWithdrawnByUserId($value)
     * @method _IH_Loan_QB whereWithdrawnNotes($value)
     * @method _IH_Loan_QB whereExternalId($value)
     * @method _IH_Loan_QB whereAccountNumber($value)
     * @method _IH_Loan_QB wherePrincipal($value)
     * @method _IH_Loan_QB whereAppliedAmount($value)
     * @method _IH_Loan_QB whereApprovedAmount($value)
     * @method _IH_Loan_QB whereInterestRate($value)
     * @method _IH_Loan_QB whereDecimals($value)
     * @method _IH_Loan_QB whereInstalmentMultipleOf($value)
     * @method _IH_Loan_QB whereLoanTerm($value)
     * @method _IH_Loan_QB whereRepaymentFrequency($value)
     * @method _IH_Loan_QB whereRepaymentFrequencyType($value)
     * @method _IH_Loan_QB whereInterestRateType($value)
     * @method _IH_Loan_QB whereEnableBalloonPayments($value)
     * @method _IH_Loan_QB whereAllowScheduleAdjustments($value)
     * @method _IH_Loan_QB whereGraceOnPrincipalPaid($value)
     * @method _IH_Loan_QB whereGraceOnInterestPaid($value)
     * @method _IH_Loan_QB whereGraceOnInterestCharged($value)
     * @method _IH_Loan_QB whereAllowCustomGracePeriod($value)
     * @method _IH_Loan_QB whereAllowTopup($value)
     * @method _IH_Loan_QB whereInterestMethodology($value)
     * @method _IH_Loan_QB whereInterestRecalculation($value)
     * @method _IH_Loan_QB whereAmortizationMethod($value)
     * @method _IH_Loan_QB whereInterestCalculationPeriodType($value)
     * @method _IH_Loan_QB whereDaysInYear($value)
     * @method _IH_Loan_QB whereDaysInMonth($value)
     * @method _IH_Loan_QB whereIncludeInLoanCycle($value)
     * @method _IH_Loan_QB whereLockGuaranteeFunds($value)
     * @method _IH_Loan_QB whereAutoAllocateOverpayments($value)
     * @method _IH_Loan_QB whereAllowAdditionalCharges($value)
     * @method _IH_Loan_QB whereAutoDisburse($value)
     * @method _IH_Loan_QB whereStatus($value)
     * @method _IH_Loan_QB whereDisbursementCharges($value)
     * @method _IH_Loan_QB wherePrincipalDisbursedDerived($value)
     * @method _IH_Loan_QB wherePrincipalRepaidDerived($value)
     * @method _IH_Loan_QB wherePrincipalWrittenOffDerived($value)
     * @method _IH_Loan_QB wherePrincipalOutstandingDerived($value)
     * @method _IH_Loan_QB whereInterestDisbursedDerived($value)
     * @method _IH_Loan_QB whereInterestRepaidDerived($value)
     * @method _IH_Loan_QB whereInterestWrittenOffDerived($value)
     * @method _IH_Loan_QB whereInterestWaivedDerived($value)
     * @method _IH_Loan_QB whereInterestOutstandingDerived($value)
     * @method _IH_Loan_QB whereFeesDisbursedDerived($value)
     * @method _IH_Loan_QB whereFeesRepaidDerived($value)
     * @method _IH_Loan_QB whereFeesWrittenOffDerived($value)
     * @method _IH_Loan_QB whereFeesWaivedDerived($value)
     * @method _IH_Loan_QB whereFeesOutstandingDerived($value)
     * @method _IH_Loan_QB wherePenaltiesDisbursedDerived($value)
     * @method _IH_Loan_QB wherePenaltiesRepaidDerived($value)
     * @method _IH_Loan_QB wherePenaltiesWrittenOffDerived($value)
     * @method _IH_Loan_QB wherePenaltiesWaivedDerived($value)
     * @method _IH_Loan_QB wherePenaltiesOutstandingDerived($value)
     * @method _IH_Loan_QB whereTotalDisbursedDerived($value)
     * @method _IH_Loan_QB whereTotalRepaidDerived($value)
     * @method _IH_Loan_QB whereTotalWrittenOffDerived($value)
     * @method _IH_Loan_QB whereTotalWaivedDerived($value)
     * @method _IH_Loan_QB whereTotalOutstandingDerived($value)
     * @method _IH_Loan_QB whereCreatedAt($value)
     * @method _IH_Loan_QB whereUpdatedAt($value)
     * @method _IH_Loan_QB whereClassification($value)
     * @method _IH_Loan_QB whereDeductInterestFromPrincipal($value)
     * @method _IH_Loan_QB whereLoanProvisioningId($value)
     * @method Loan baseSole(array|string $columns = ['*'])
     * @method Loan create(array $attributes = [])
     * @method Loan createOrFirst(array $attributes = [], array $values = [])
     * @method Loan createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_Loan_C|Loan[] cursor()
     * @method Loan|null|_IH_Loan_C|Loan[] find($id, array|string $columns = ['*'])
     * @method _IH_Loan_C|Loan[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Loan|_IH_Loan_C|Loan[] findOr($id, array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method Loan|_IH_Loan_C|Loan[] findOrFail($id, array|string $columns = ['*'])
     * @method Loan|_IH_Loan_C|Loan[] findOrNew($id, array|string $columns = ['*'])
     * @method Loan first(array|string $columns = ['*'])
     * @method Loan firstOr(array|\Closure|string $columns = ['*'], \Closure $callback = null)
     * @method Loan firstOrCreate(array $attributes = [], array $values = [])
     * @method Loan firstOrFail(array|string $columns = ['*'])
     * @method Loan firstOrNew(array $attributes = [], array $values = [])
     * @method Loan firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Loan forceCreate(array $attributes)
     * @method Loan forceCreateQuietly(array $attributes = [])
     * @method _IH_Loan_C|Loan[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Loan_C|Loan[] get(array|string $columns = ['*'])
     * @method Loan getModel()
     * @method Loan[] getModels(array|string $columns = ['*'])
     * @method _IH_Loan_C|Loan[] hydrate(array $items)
     * @method _IH_Loan_C|Loan[] lazy(int $chunkSize = 1000)
     * @method _IH_Loan_C|Loan[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Loan_C|Loan[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Loan make(array $attributes = [])
     * @method Loan newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Loan[]|_IH_Loan_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Loan restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|Loan[]|_IH_Loan_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Loan sole(array|string $columns = ['*'])
     * @method Loan updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Loan_QB extends _BaseBuilder {}
}