<?php //ac44834cb47806a4b8a7565718debc58
/** @noinspection all */

namespace LaravelIdea\Helper\App\Models {

    use App\Models\Address;
    use App\Models\Admin;
    use App\Models\Banner;
    use App\Models\Blog;
    use App\Models\BlogCategory;
    use App\Models\Brand;
    use App\Models\Card;
    use App\Models\Cart;
    use App\Models\CartItem;
    use App\Models\Category;
    use App\Models\Chat;
    use App\Models\City;
    use App\Models\Comment;
    use App\Models\ContactRequest;
    use App\Models\Coupon;
    use App\Models\CouponUser;
    use App\Models\Faq;
    use App\Models\FooterSetting;
    use App\Models\Message;
    use App\Models\Notification;
    use App\Models\Otp;
    use App\Models\Product;
    use App\Models\ProductAttribute;
    use App\Models\ProductModel;
    use App\Models\ProductRelation;
    use App\Models\Province;
    use App\Models\SearchHistory;
    use App\Models\StaticPageSetting;
    use App\Models\Transaction;
    use App\Models\User;
    use BackedEnum;
    use Illuminate\Contracts\Database\Query\Expression;
    use Illuminate\Contracts\Support\Arrayable;
    use Illuminate\Pagination\LengthAwarePaginator;
    use Illuminate\Pagination\Paginator;
    use Illuminate\Support\Collection;
    use LaravelIdea\Helper\_BaseBuilder;
    use LaravelIdea\Helper\_BaseCollection;
    use Spatie\Permission\Contracts\Permission;
    use Spatie\Permission\Contracts\Role;
    
    /**
     * @method Address getOrPut($key, \Closure $value)
     * @method Address|$this shift(int $count = 1)
     * @method Address firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Address|$this pop(int $count = 1)
     * @method Address|null pull($key, \Closure $default = null)
     * @method Address|null last(callable|null $callback = null, \Closure $default = null)
     * @method Address|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Address sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method Address|null get(null $key, \Closure $default = null)
     * @method Address|null first(callable|null $callback = null, \Closure $default = null)
     * @method Address|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Address|null find($key, $default = null)
     * @method Address[] all()
     */
    class _IH_Address_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return Address[][]|Collection<_IH_Address_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Address_QB whereId($value)
     * @method _IH_Address_QB whereAddress($value)
     * @method _IH_Address_QB wherePostalCode($value)
     * @method _IH_Address_QB whereNeighborhood($value)
     * @method _IH_Address_QB whereCityId($value)
     * @method _IH_Address_QB whereProvinceId($value)
     * @method _IH_Address_QB whereUserId($value)
     * @method _IH_Address_QB whereCreatedAt($value)
     * @method _IH_Address_QB whereUpdatedAt($value)
     * @method Address create(array $attributes = [])
     * @method Address createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method Address createOrRestore($attributes = [], $values = [])
     * @method Address createQuietly(array $attributes = [])
     * @method _IH_Address_C|Address[] cursor()
     * @method Address[] eagerLoadRelations(array $models)
     * @method Address|null|_IH_Address_C|Address[] find($id, array|string $columns = ['*'])
     * @method _IH_Address_C|Address[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Address|_IH_Address_C|Address[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Address|_IH_Address_C|Address[] findOrFail($id, array|string $columns = ['*'])
     * @method Address|_IH_Address_C|Address[] findOrNew($id, array|string $columns = ['*'])
     * @method Address findSole($id, array|string $columns = ['*'])
     * @method Address|null first(array|string $columns = ['*'])
     * @method Address firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Address firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method Address firstOrFail(array|string $columns = ['*'])
     * @method Address firstOrNew(array $attributes = [], array $values = [])
     * @method Address|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Address forceCreate(array $attributes)
     * @method Address forceCreateQuietly(array $attributes = [])
     * @method _IH_Address_C|Address[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Address_C|Address[] get(array|string $columns = ['*'])
     * @method Address getModel()
     * @method Address[] getModels(array|string $columns = ['*'])
     * @method _IH_Address_C|Address[] hydrate(array $items)
     * @method Address incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_Address_C|Address[] lazy(int $chunkSize = 1000)
     * @method _IH_Address_C|Address[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Address_C|Address[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Address make(array $attributes = [])
     * @method Address newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Address[]|_IH_Address_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Address restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|Address[]|_IH_Address_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Address sole(array|string $columns = ['*'])
     * @method Address updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Address_QB extends _BaseBuilder {}
    
    /**
     * @method Admin getOrPut($key, \Closure $value)
     * @method Admin|$this shift(int $count = 1)
     * @method Admin firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Admin|$this pop(int $count = 1)
     * @method Admin|null pull($key, \Closure $default = null)
     * @method Admin|null last(callable|null $callback = null, \Closure $default = null)
     * @method Admin|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Admin sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method Admin|null get(null $key, \Closure $default = null)
     * @method Admin|null first(callable|null $callback = null, \Closure $default = null)
     * @method Admin|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Admin|null find($key, $default = null)
     * @method Admin[] all()
     */
    class _IH_Admin_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return Admin[][]|Collection<_IH_Admin_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Admin_QB whereId($value)
     * @method _IH_Admin_QB whereName($value)
     * @method _IH_Admin_QB whereEmail($value)
     * @method _IH_Admin_QB whereEmailVerifiedAt($value)
     * @method _IH_Admin_QB wherePassword($value)
     * @method _IH_Admin_QB whereRememberToken($value)
     * @method _IH_Admin_QB whereCreatedAt($value)
     * @method _IH_Admin_QB whereUpdatedAt($value)
     * @method Admin create(array $attributes = [])
     * @method Admin createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method Admin createOrRestore($attributes = [], $values = [])
     * @method Admin createQuietly(array $attributes = [])
     * @method _IH_Admin_C|Admin[] cursor()
     * @method Admin[] eagerLoadRelations(array $models)
     * @method Admin|null|_IH_Admin_C|Admin[] find($id, array|string $columns = ['*'])
     * @method _IH_Admin_C|Admin[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Admin|_IH_Admin_C|Admin[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Admin|_IH_Admin_C|Admin[] findOrFail($id, array|string $columns = ['*'])
     * @method Admin|_IH_Admin_C|Admin[] findOrNew($id, array|string $columns = ['*'])
     * @method Admin findSole($id, array|string $columns = ['*'])
     * @method Admin|null first(array|string $columns = ['*'])
     * @method Admin firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Admin firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method Admin firstOrFail(array|string $columns = ['*'])
     * @method Admin firstOrNew(array $attributes = [], array $values = [])
     * @method Admin|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Admin forceCreate(array $attributes)
     * @method Admin forceCreateQuietly(array $attributes = [])
     * @method _IH_Admin_C|Admin[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Admin_C|Admin[] get(array|string $columns = ['*'])
     * @method Admin getModel()
     * @method Admin[] getModels(array|string $columns = ['*'])
     * @method _IH_Admin_C|Admin[] hydrate(array $items)
     * @method Admin incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_Admin_C|Admin[] lazy(int $chunkSize = 1000)
     * @method _IH_Admin_C|Admin[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Admin_C|Admin[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Admin make(array $attributes = [])
     * @method Admin newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Admin[]|_IH_Admin_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Admin restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|Admin[]|_IH_Admin_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Admin sole(array|string $columns = ['*'])
     * @method Admin updateOrCreate(array $attributes, array $values = [])
     * @method _IH_Admin_QB permission(array|BackedEnum|Collection|int|Permission|string $permissions, bool $without = false)
     * @method _IH_Admin_QB role(array|BackedEnum|Collection|int|Role|string $roles, string $guard = null, bool $without = false)
     * @method _IH_Admin_QB withoutPermission(array|BackedEnum|Collection|int|Permission|string $permissions)
     * @method _IH_Admin_QB withoutRole(array|BackedEnum|Collection|int|Role|string $roles, string $guard = null)
     */
    class _IH_Admin_QB extends _BaseBuilder {}
    
    /**
     * @method Banner getOrPut($key, \Closure $value)
     * @method Banner|$this shift(int $count = 1)
     * @method Banner firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Banner|$this pop(int $count = 1)
     * @method Banner|null pull($key, \Closure $default = null)
     * @method Banner|null last(callable|null $callback = null, \Closure $default = null)
     * @method Banner|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Banner sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method Banner|null get(null $key, \Closure $default = null)
     * @method Banner|null first(callable|null $callback = null, \Closure $default = null)
     * @method Banner|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Banner|null find($key, $default = null)
     * @method Banner[] all()
     */
    class _IH_Banner_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return Banner[][]|Collection<_IH_Banner_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Banner_QB whereId($value)
     * @method _IH_Banner_QB whereTitle($value)
     * @method _IH_Banner_QB whereLocation($value)
     * @method _IH_Banner_QB whereUrl($value)
     * @method _IH_Banner_QB whereCreatedAt($value)
     * @method _IH_Banner_QB whereUpdatedAt($value)
     * @method Banner create(array $attributes = [])
     * @method Banner createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method Banner createOrRestore($attributes = [], $values = [])
     * @method Banner createQuietly(array $attributes = [])
     * @method _IH_Banner_C|Banner[] cursor()
     * @method Banner[] eagerLoadRelations(array $models)
     * @method Banner|null|_IH_Banner_C|Banner[] find($id, array|string $columns = ['*'])
     * @method _IH_Banner_C|Banner[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Banner|_IH_Banner_C|Banner[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Banner|_IH_Banner_C|Banner[] findOrFail($id, array|string $columns = ['*'])
     * @method Banner|_IH_Banner_C|Banner[] findOrNew($id, array|string $columns = ['*'])
     * @method Banner findSole($id, array|string $columns = ['*'])
     * @method Banner|null first(array|string $columns = ['*'])
     * @method Banner firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Banner firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method Banner firstOrFail(array|string $columns = ['*'])
     * @method Banner firstOrNew(array $attributes = [], array $values = [])
     * @method Banner|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Banner forceCreate(array $attributes)
     * @method Banner forceCreateQuietly(array $attributes = [])
     * @method _IH_Banner_C|Banner[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Banner_C|Banner[] get(array|string $columns = ['*'])
     * @method Banner getModel()
     * @method Banner[] getModels(array|string $columns = ['*'])
     * @method _IH_Banner_C|Banner[] hydrate(array $items)
     * @method Banner incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_Banner_C|Banner[] lazy(int $chunkSize = 1000)
     * @method _IH_Banner_C|Banner[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Banner_C|Banner[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Banner make(array $attributes = [])
     * @method Banner newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Banner[]|_IH_Banner_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Banner restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|Banner[]|_IH_Banner_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Banner sole(array|string $columns = ['*'])
     * @method Banner updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Banner_QB extends _BaseBuilder {}
    
    /**
     * @method BlogCategory getOrPut($key, \Closure $value)
     * @method BlogCategory|$this shift(int $count = 1)
     * @method BlogCategory firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method BlogCategory|$this pop(int $count = 1)
     * @method BlogCategory|null pull($key, \Closure $default = null)
     * @method BlogCategory|null last(callable|null $callback = null, \Closure $default = null)
     * @method BlogCategory|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method BlogCategory sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method BlogCategory|null get(null $key, \Closure $default = null)
     * @method BlogCategory|null first(callable|null $callback = null, \Closure $default = null)
     * @method BlogCategory|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method BlogCategory|null find($key, $default = null)
     * @method BlogCategory[] all()
     */
    class _IH_BlogCategory_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return BlogCategory[][]|Collection<_IH_BlogCategory_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_BlogCategory_QB whereId($value)
     * @method _IH_BlogCategory_QB whereTitle($value)
     * @method _IH_BlogCategory_QB whereSlug($value)
     * @method _IH_BlogCategory_QB whereCreatedAt($value)
     * @method _IH_BlogCategory_QB whereUpdatedAt($value)
     * @method BlogCategory create(array $attributes = [])
     * @method BlogCategory createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method BlogCategory createOrRestore($attributes = [], $values = [])
     * @method BlogCategory createQuietly(array $attributes = [])
     * @method _IH_BlogCategory_C|BlogCategory[] cursor()
     * @method BlogCategory[] eagerLoadRelations(array $models)
     * @method BlogCategory|null|_IH_BlogCategory_C|BlogCategory[] find($id, array|string $columns = ['*'])
     * @method _IH_BlogCategory_C|BlogCategory[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method BlogCategory|_IH_BlogCategory_C|BlogCategory[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method BlogCategory|_IH_BlogCategory_C|BlogCategory[] findOrFail($id, array|string $columns = ['*'])
     * @method BlogCategory|_IH_BlogCategory_C|BlogCategory[] findOrNew($id, array|string $columns = ['*'])
     * @method BlogCategory findSole($id, array|string $columns = ['*'])
     * @method BlogCategory|null first(array|string $columns = ['*'])
     * @method BlogCategory firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method BlogCategory firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method BlogCategory firstOrFail(array|string $columns = ['*'])
     * @method BlogCategory firstOrNew(array $attributes = [], array $values = [])
     * @method BlogCategory|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method BlogCategory forceCreate(array $attributes)
     * @method BlogCategory forceCreateQuietly(array $attributes = [])
     * @method _IH_BlogCategory_C|BlogCategory[] fromQuery(string $query, array $bindings = [])
     * @method _IH_BlogCategory_C|BlogCategory[] get(array|string $columns = ['*'])
     * @method BlogCategory getModel()
     * @method BlogCategory[] getModels(array|string $columns = ['*'])
     * @method _IH_BlogCategory_C|BlogCategory[] hydrate(array $items)
     * @method BlogCategory incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_BlogCategory_C|BlogCategory[] lazy(int $chunkSize = 1000)
     * @method _IH_BlogCategory_C|BlogCategory[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_BlogCategory_C|BlogCategory[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method BlogCategory make(array $attributes = [])
     * @method BlogCategory newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|BlogCategory[]|_IH_BlogCategory_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method BlogCategory restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|BlogCategory[]|_IH_BlogCategory_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method BlogCategory sole(array|string $columns = ['*'])
     * @method BlogCategory updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_BlogCategory_QB extends _BaseBuilder {}
    
    /**
     * @method Blog getOrPut($key, \Closure $value)
     * @method Blog|$this shift(int $count = 1)
     * @method Blog firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Blog|$this pop(int $count = 1)
     * @method Blog|null pull($key, \Closure $default = null)
     * @method Blog|null last(callable|null $callback = null, \Closure $default = null)
     * @method Blog|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Blog sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method Blog|null get(null $key, \Closure $default = null)
     * @method Blog|null first(callable|null $callback = null, \Closure $default = null)
     * @method Blog|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Blog|null find($key, $default = null)
     * @method Blog[] all()
     */
    class _IH_Blog_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return Blog[][]|Collection<_IH_Blog_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Blog_QB whereId($value)
     * @method _IH_Blog_QB whereAdminId($value)
     * @method _IH_Blog_QB whereTitle($value)
     * @method _IH_Blog_QB whereSlug($value)
     * @method _IH_Blog_QB whereDescription($value)
     * @method _IH_Blog_QB whereWriterName($value)
     * @method _IH_Blog_QB whereViews($value)
     * @method _IH_Blog_QB whereCategoryId($value)
     * @method _IH_Blog_QB whereCreatedAt($value)
     * @method _IH_Blog_QB whereUpdatedAt($value)
     * @method Blog create(array $attributes = [])
     * @method Blog createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method Blog createOrRestore($attributes = [], $values = [])
     * @method Blog createQuietly(array $attributes = [])
     * @method _IH_Blog_C|Blog[] cursor()
     * @method Blog[] eagerLoadRelations(array $models)
     * @method Blog|null|_IH_Blog_C|Blog[] find($id, array|string $columns = ['*'])
     * @method _IH_Blog_C|Blog[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Blog|_IH_Blog_C|Blog[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Blog|_IH_Blog_C|Blog[] findOrFail($id, array|string $columns = ['*'])
     * @method Blog|_IH_Blog_C|Blog[] findOrNew($id, array|string $columns = ['*'])
     * @method Blog findSole($id, array|string $columns = ['*'])
     * @method Blog|null first(array|string $columns = ['*'])
     * @method Blog firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Blog firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method Blog firstOrFail(array|string $columns = ['*'])
     * @method Blog firstOrNew(array $attributes = [], array $values = [])
     * @method Blog|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Blog forceCreate(array $attributes)
     * @method Blog forceCreateQuietly(array $attributes = [])
     * @method _IH_Blog_C|Blog[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Blog_C|Blog[] get(array|string $columns = ['*'])
     * @method Blog getModel()
     * @method Blog[] getModels(array|string $columns = ['*'])
     * @method _IH_Blog_C|Blog[] hydrate(array $items)
     * @method Blog incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_Blog_C|Blog[] lazy(int $chunkSize = 1000)
     * @method _IH_Blog_C|Blog[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Blog_C|Blog[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Blog make(array $attributes = [])
     * @method Blog newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Blog[]|_IH_Blog_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Blog restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|Blog[]|_IH_Blog_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Blog sole(array|string $columns = ['*'])
     * @method Blog updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Blog_QB extends _BaseBuilder {}
    
    /**
     * @method Brand getOrPut($key, \Closure $value)
     * @method Brand|$this shift(int $count = 1)
     * @method Brand firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Brand|$this pop(int $count = 1)
     * @method Brand|null pull($key, \Closure $default = null)
     * @method Brand|null last(callable|null $callback = null, \Closure $default = null)
     * @method Brand|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Brand sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method Brand|null get(null $key, \Closure $default = null)
     * @method Brand|null first(callable|null $callback = null, \Closure $default = null)
     * @method Brand|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Brand|null find($key, $default = null)
     * @method Brand[] all()
     */
    class _IH_Brand_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return Brand[][]|Collection<_IH_Brand_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Brand_QB whereId($value)
     * @method _IH_Brand_QB whereTitleFa($value)
     * @method _IH_Brand_QB whereTitleEn($value)
     * @method _IH_Brand_QB whereCreatedAt($value)
     * @method _IH_Brand_QB whereUpdatedAt($value)
     * @method Brand create(array $attributes = [])
     * @method Brand createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method Brand createOrRestore($attributes = [], $values = [])
     * @method Brand createQuietly(array $attributes = [])
     * @method _IH_Brand_C|Brand[] cursor()
     * @method Brand[] eagerLoadRelations(array $models)
     * @method Brand|null|_IH_Brand_C|Brand[] find($id, array|string $columns = ['*'])
     * @method _IH_Brand_C|Brand[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Brand|_IH_Brand_C|Brand[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Brand|_IH_Brand_C|Brand[] findOrFail($id, array|string $columns = ['*'])
     * @method Brand|_IH_Brand_C|Brand[] findOrNew($id, array|string $columns = ['*'])
     * @method Brand findSole($id, array|string $columns = ['*'])
     * @method Brand|null first(array|string $columns = ['*'])
     * @method Brand firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Brand firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method Brand firstOrFail(array|string $columns = ['*'])
     * @method Brand firstOrNew(array $attributes = [], array $values = [])
     * @method Brand|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Brand forceCreate(array $attributes)
     * @method Brand forceCreateQuietly(array $attributes = [])
     * @method _IH_Brand_C|Brand[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Brand_C|Brand[] get(array|string $columns = ['*'])
     * @method Brand getModel()
     * @method Brand[] getModels(array|string $columns = ['*'])
     * @method _IH_Brand_C|Brand[] hydrate(array $items)
     * @method Brand incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_Brand_C|Brand[] lazy(int $chunkSize = 1000)
     * @method _IH_Brand_C|Brand[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Brand_C|Brand[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Brand make(array $attributes = [])
     * @method Brand newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Brand[]|_IH_Brand_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Brand restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|Brand[]|_IH_Brand_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Brand sole(array|string $columns = ['*'])
     * @method Brand updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Brand_QB extends _BaseBuilder {}
    
    /**
     * @method Card getOrPut($key, \Closure $value)
     * @method Card|$this shift(int $count = 1)
     * @method Card firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Card|$this pop(int $count = 1)
     * @method Card|null pull($key, \Closure $default = null)
     * @method Card|null last(callable|null $callback = null, \Closure $default = null)
     * @method Card|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Card sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method Card|null get(null $key, \Closure $default = null)
     * @method Card|null first(callable|null $callback = null, \Closure $default = null)
     * @method Card|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Card|null find($key, $default = null)
     * @method Card[] all()
     */
    class _IH_Card_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return Card[][]|Collection<_IH_Card_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Card_QB whereId($value)
     * @method _IH_Card_QB whereUserId($value)
     * @method _IH_Card_QB whereCardNumber($value)
     * @method _IH_Card_QB whereIban($value)
     * @method _IH_Card_QB whereAccountNumber($value)
     * @method _IH_Card_QB whereCreatedAt($value)
     * @method _IH_Card_QB whereUpdatedAt($value)
     * @method Card create(array $attributes = [])
     * @method Card createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method Card createOrRestore($attributes = [], $values = [])
     * @method Card createQuietly(array $attributes = [])
     * @method _IH_Card_C|Card[] cursor()
     * @method Card[] eagerLoadRelations(array $models)
     * @method Card|null|_IH_Card_C|Card[] find($id, array|string $columns = ['*'])
     * @method _IH_Card_C|Card[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Card|_IH_Card_C|Card[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Card|_IH_Card_C|Card[] findOrFail($id, array|string $columns = ['*'])
     * @method Card|_IH_Card_C|Card[] findOrNew($id, array|string $columns = ['*'])
     * @method Card findSole($id, array|string $columns = ['*'])
     * @method Card|null first(array|string $columns = ['*'])
     * @method Card firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Card firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method Card firstOrFail(array|string $columns = ['*'])
     * @method Card firstOrNew(array $attributes = [], array $values = [])
     * @method Card|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Card forceCreate(array $attributes)
     * @method Card forceCreateQuietly(array $attributes = [])
     * @method _IH_Card_C|Card[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Card_C|Card[] get(array|string $columns = ['*'])
     * @method Card getModel()
     * @method Card[] getModels(array|string $columns = ['*'])
     * @method _IH_Card_C|Card[] hydrate(array $items)
     * @method Card incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_Card_C|Card[] lazy(int $chunkSize = 1000)
     * @method _IH_Card_C|Card[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Card_C|Card[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Card make(array $attributes = [])
     * @method Card newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Card[]|_IH_Card_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Card restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|Card[]|_IH_Card_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Card sole(array|string $columns = ['*'])
     * @method Card updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Card_QB extends _BaseBuilder {}
    
    /**
     * @method CartItem getOrPut($key, \Closure $value)
     * @method CartItem|$this shift(int $count = 1)
     * @method CartItem firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method CartItem|$this pop(int $count = 1)
     * @method CartItem|null pull($key, \Closure $default = null)
     * @method CartItem|null last(callable|null $callback = null, \Closure $default = null)
     * @method CartItem|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method CartItem sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method CartItem|null get(null $key, \Closure $default = null)
     * @method CartItem|null first(callable|null $callback = null, \Closure $default = null)
     * @method CartItem|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method CartItem|null find($key, $default = null)
     * @method CartItem[] all()
     */
    class _IH_CartItem_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return CartItem[][]|Collection<_IH_CartItem_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_CartItem_QB whereId($value)
     * @method _IH_CartItem_QB whereProductModelId($value)
     * @method _IH_CartItem_QB whereCartId($value)
     * @method _IH_CartItem_QB whereQuantity($value)
     * @method _IH_CartItem_QB wherePrice($value)
     * @method _IH_CartItem_QB whereCreatedAt($value)
     * @method _IH_CartItem_QB whereUpdatedAt($value)
     * @method CartItem create(array $attributes = [])
     * @method CartItem createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method CartItem createOrRestore($attributes = [], $values = [])
     * @method CartItem createQuietly(array $attributes = [])
     * @method _IH_CartItem_C|CartItem[] cursor()
     * @method CartItem[] eagerLoadRelations(array $models)
     * @method CartItem|null|_IH_CartItem_C|CartItem[] find($id, array|string $columns = ['*'])
     * @method _IH_CartItem_C|CartItem[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method CartItem|_IH_CartItem_C|CartItem[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method CartItem|_IH_CartItem_C|CartItem[] findOrFail($id, array|string $columns = ['*'])
     * @method CartItem|_IH_CartItem_C|CartItem[] findOrNew($id, array|string $columns = ['*'])
     * @method CartItem findSole($id, array|string $columns = ['*'])
     * @method CartItem|null first(array|string $columns = ['*'])
     * @method CartItem firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method CartItem firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method CartItem firstOrFail(array|string $columns = ['*'])
     * @method CartItem firstOrNew(array $attributes = [], array $values = [])
     * @method CartItem|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method CartItem forceCreate(array $attributes)
     * @method CartItem forceCreateQuietly(array $attributes = [])
     * @method _IH_CartItem_C|CartItem[] fromQuery(string $query, array $bindings = [])
     * @method _IH_CartItem_C|CartItem[] get(array|string $columns = ['*'])
     * @method CartItem getModel()
     * @method CartItem[] getModels(array|string $columns = ['*'])
     * @method _IH_CartItem_C|CartItem[] hydrate(array $items)
     * @method CartItem incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_CartItem_C|CartItem[] lazy(int $chunkSize = 1000)
     * @method _IH_CartItem_C|CartItem[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_CartItem_C|CartItem[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method CartItem make(array $attributes = [])
     * @method CartItem newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|CartItem[]|_IH_CartItem_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method CartItem restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|CartItem[]|_IH_CartItem_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method CartItem sole(array|string $columns = ['*'])
     * @method CartItem updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_CartItem_QB extends _BaseBuilder {}
    
    /**
     * @method Cart getOrPut($key, \Closure $value)
     * @method Cart|$this shift(int $count = 1)
     * @method Cart firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Cart|$this pop(int $count = 1)
     * @method Cart|null pull($key, \Closure $default = null)
     * @method Cart|null last(callable|null $callback = null, \Closure $default = null)
     * @method Cart|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Cart sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method Cart|null get(null $key, \Closure $default = null)
     * @method Cart|null first(callable|null $callback = null, \Closure $default = null)
     * @method Cart|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Cart|null find($key, $default = null)
     * @method Cart[] all()
     */
    class _IH_Cart_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return Cart[][]|Collection<_IH_Cart_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Cart_QB whereId($value)
     * @method _IH_Cart_QB whereUserId($value)
     * @method _IH_Cart_QB whereTotalPrice($value)
     * @method _IH_Cart_QB whereCreatedAt($value)
     * @method _IH_Cart_QB whereUpdatedAt($value)
     * @method Cart create(array $attributes = [])
     * @method Cart createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method Cart createOrRestore($attributes = [], $values = [])
     * @method Cart createQuietly(array $attributes = [])
     * @method _IH_Cart_C|Cart[] cursor()
     * @method Cart[] eagerLoadRelations(array $models)
     * @method Cart|null|_IH_Cart_C|Cart[] find($id, array|string $columns = ['*'])
     * @method _IH_Cart_C|Cart[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Cart|_IH_Cart_C|Cart[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Cart|_IH_Cart_C|Cart[] findOrFail($id, array|string $columns = ['*'])
     * @method Cart|_IH_Cart_C|Cart[] findOrNew($id, array|string $columns = ['*'])
     * @method Cart findSole($id, array|string $columns = ['*'])
     * @method Cart|null first(array|string $columns = ['*'])
     * @method Cart firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Cart firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method Cart firstOrFail(array|string $columns = ['*'])
     * @method Cart firstOrNew(array $attributes = [], array $values = [])
     * @method Cart|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Cart forceCreate(array $attributes)
     * @method Cart forceCreateQuietly(array $attributes = [])
     * @method _IH_Cart_C|Cart[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Cart_C|Cart[] get(array|string $columns = ['*'])
     * @method Cart getModel()
     * @method Cart[] getModels(array|string $columns = ['*'])
     * @method _IH_Cart_C|Cart[] hydrate(array $items)
     * @method Cart incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_Cart_C|Cart[] lazy(int $chunkSize = 1000)
     * @method _IH_Cart_C|Cart[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Cart_C|Cart[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Cart make(array $attributes = [])
     * @method Cart newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Cart[]|_IH_Cart_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Cart restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|Cart[]|_IH_Cart_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Cart sole(array|string $columns = ['*'])
     * @method Cart updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Cart_QB extends _BaseBuilder {}
    
    /**
     * @method Category getOrPut($key, \Closure $value)
     * @method Category|$this shift(int $count = 1)
     * @method Category firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Category|$this pop(int $count = 1)
     * @method Category|null pull($key, \Closure $default = null)
     * @method Category|null last(callable|null $callback = null, \Closure $default = null)
     * @method Category|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Category sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method Category|null get(null $key, \Closure $default = null)
     * @method Category|null first(callable|null $callback = null, \Closure $default = null)
     * @method Category|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Category|null find($key, $default = null)
     * @method Category[] all()
     */
    class _IH_Category_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return Category[][]|Collection<_IH_Category_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Category_QB whereId($value)
     * @method _IH_Category_QB whereTitle($value)
     * @method _IH_Category_QB whereParentId($value)
     * @method _IH_Category_QB whereCreatedAt($value)
     * @method _IH_Category_QB whereUpdatedAt($value)
     * @method Category create(array $attributes = [])
     * @method Category createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method Category createOrRestore($attributes = [], $values = [])
     * @method Category createQuietly(array $attributes = [])
     * @method _IH_Category_C|Category[] cursor()
     * @method Category[] eagerLoadRelations(array $models)
     * @method Category|null|_IH_Category_C|Category[] find($id, array|string $columns = ['*'])
     * @method _IH_Category_C|Category[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Category|_IH_Category_C|Category[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Category|_IH_Category_C|Category[] findOrFail($id, array|string $columns = ['*'])
     * @method Category|_IH_Category_C|Category[] findOrNew($id, array|string $columns = ['*'])
     * @method Category findSole($id, array|string $columns = ['*'])
     * @method Category|null first(array|string $columns = ['*'])
     * @method Category firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Category firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method Category firstOrFail(array|string $columns = ['*'])
     * @method Category firstOrNew(array $attributes = [], array $values = [])
     * @method Category|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Category forceCreate(array $attributes)
     * @method Category forceCreateQuietly(array $attributes = [])
     * @method _IH_Category_C|Category[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Category_C|Category[] get(array|string $columns = ['*'])
     * @method Category getModel()
     * @method Category[] getModels(array|string $columns = ['*'])
     * @method _IH_Category_C|Category[] hydrate(array $items)
     * @method Category incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_Category_C|Category[] lazy(int $chunkSize = 1000)
     * @method _IH_Category_C|Category[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Category_C|Category[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Category make(array $attributes = [])
     * @method Category newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Category[]|_IH_Category_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Category restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|Category[]|_IH_Category_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Category sole(array|string $columns = ['*'])
     * @method Category updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Category_QB extends _BaseBuilder {}
    
    /**
     * @method Chat getOrPut($key, \Closure $value)
     * @method Chat|$this shift(int $count = 1)
     * @method Chat firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Chat|$this pop(int $count = 1)
     * @method Chat|null pull($key, \Closure $default = null)
     * @method Chat|null last(callable|null $callback = null, \Closure $default = null)
     * @method Chat|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Chat sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method Chat|null get(null $key, \Closure $default = null)
     * @method Chat|null first(callable|null $callback = null, \Closure $default = null)
     * @method Chat|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Chat|null find($key, $default = null)
     * @method Chat[] all()
     */
    class _IH_Chat_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return Chat[][]|Collection<_IH_Chat_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Chat_QB whereId($value)
     * @method _IH_Chat_QB whereUserId($value)
     * @method _IH_Chat_QB whereCreatedAt($value)
     * @method _IH_Chat_QB whereUpdatedAt($value)
     * @method Chat create(array $attributes = [])
     * @method Chat createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method Chat createOrRestore($attributes = [], $values = [])
     * @method Chat createQuietly(array $attributes = [])
     * @method _IH_Chat_C|Chat[] cursor()
     * @method Chat[] eagerLoadRelations(array $models)
     * @method Chat|null|_IH_Chat_C|Chat[] find($id, array|string $columns = ['*'])
     * @method _IH_Chat_C|Chat[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Chat|_IH_Chat_C|Chat[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Chat|_IH_Chat_C|Chat[] findOrFail($id, array|string $columns = ['*'])
     * @method Chat|_IH_Chat_C|Chat[] findOrNew($id, array|string $columns = ['*'])
     * @method Chat findSole($id, array|string $columns = ['*'])
     * @method Chat|null first(array|string $columns = ['*'])
     * @method Chat firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Chat firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method Chat firstOrFail(array|string $columns = ['*'])
     * @method Chat firstOrNew(array $attributes = [], array $values = [])
     * @method Chat|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Chat forceCreate(array $attributes)
     * @method Chat forceCreateQuietly(array $attributes = [])
     * @method _IH_Chat_C|Chat[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Chat_C|Chat[] get(array|string $columns = ['*'])
     * @method Chat getModel()
     * @method Chat[] getModels(array|string $columns = ['*'])
     * @method _IH_Chat_C|Chat[] hydrate(array $items)
     * @method Chat incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_Chat_C|Chat[] lazy(int $chunkSize = 1000)
     * @method _IH_Chat_C|Chat[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Chat_C|Chat[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Chat make(array $attributes = [])
     * @method Chat newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Chat[]|_IH_Chat_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Chat restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|Chat[]|_IH_Chat_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Chat sole(array|string $columns = ['*'])
     * @method Chat updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Chat_QB extends _BaseBuilder {}
    
    /**
     * @method City getOrPut($key, \Closure $value)
     * @method City|$this shift(int $count = 1)
     * @method City firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method City|$this pop(int $count = 1)
     * @method City|null pull($key, \Closure $default = null)
     * @method City|null last(callable|null $callback = null, \Closure $default = null)
     * @method City|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method City sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method City|null get(null $key, \Closure $default = null)
     * @method City|null first(callable|null $callback = null, \Closure $default = null)
     * @method City|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method City|null find($key, $default = null)
     * @method City[] all()
     */
    class _IH_City_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return City[][]|Collection<_IH_City_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_City_QB whereId($value)
     * @method _IH_City_QB whereName($value)
     * @method _IH_City_QB whereProvinceId($value)
     * @method _IH_City_QB whereCreatedAt($value)
     * @method _IH_City_QB whereUpdatedAt($value)
     * @method City create(array $attributes = [])
     * @method City createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method City createOrRestore($attributes = [], $values = [])
     * @method City createQuietly(array $attributes = [])
     * @method _IH_City_C|City[] cursor()
     * @method City[] eagerLoadRelations(array $models)
     * @method City|null|_IH_City_C|City[] find($id, array|string $columns = ['*'])
     * @method _IH_City_C|City[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method City|_IH_City_C|City[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method City|_IH_City_C|City[] findOrFail($id, array|string $columns = ['*'])
     * @method City|_IH_City_C|City[] findOrNew($id, array|string $columns = ['*'])
     * @method City findSole($id, array|string $columns = ['*'])
     * @method City|null first(array|string $columns = ['*'])
     * @method City firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method City firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method City firstOrFail(array|string $columns = ['*'])
     * @method City firstOrNew(array $attributes = [], array $values = [])
     * @method City|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method City forceCreate(array $attributes)
     * @method City forceCreateQuietly(array $attributes = [])
     * @method _IH_City_C|City[] fromQuery(string $query, array $bindings = [])
     * @method _IH_City_C|City[] get(array|string $columns = ['*'])
     * @method City getModel()
     * @method City[] getModels(array|string $columns = ['*'])
     * @method _IH_City_C|City[] hydrate(array $items)
     * @method City incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_City_C|City[] lazy(int $chunkSize = 1000)
     * @method _IH_City_C|City[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_City_C|City[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method City make(array $attributes = [])
     * @method City newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|City[]|_IH_City_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method City restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|City[]|_IH_City_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method City sole(array|string $columns = ['*'])
     * @method City updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_City_QB extends _BaseBuilder {}
    
    /**
     * @method Comment getOrPut($key, \Closure $value)
     * @method Comment|$this shift(int $count = 1)
     * @method Comment firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Comment|$this pop(int $count = 1)
     * @method Comment|null pull($key, \Closure $default = null)
     * @method Comment|null last(callable|null $callback = null, \Closure $default = null)
     * @method Comment|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Comment sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method Comment|null get(null $key, \Closure $default = null)
     * @method Comment|null first(callable|null $callback = null, \Closure $default = null)
     * @method Comment|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Comment|null find($key, $default = null)
     * @method Comment[] all()
     */
    class _IH_Comment_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return Comment[][]|Collection<_IH_Comment_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Comment_QB whereId($value)
     * @method _IH_Comment_QB whereDescription($value)
     * @method _IH_Comment_QB whereCommentableId($value)
     * @method _IH_Comment_QB whereCommentableType($value)
     * @method _IH_Comment_QB whereUserId($value)
     * @method _IH_Comment_QB whereRate($value)
     * @method _IH_Comment_QB whereIsVerified($value)
     * @method _IH_Comment_QB whereCreatedAt($value)
     * @method _IH_Comment_QB whereUpdatedAt($value)
     * @method Comment create(array $attributes = [])
     * @method Comment createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method Comment createOrRestore($attributes = [], $values = [])
     * @method Comment createQuietly(array $attributes = [])
     * @method _IH_Comment_C|Comment[] cursor()
     * @method Comment[] eagerLoadRelations(array $models)
     * @method Comment|null|_IH_Comment_C|Comment[] find($id, array|string $columns = ['*'])
     * @method _IH_Comment_C|Comment[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Comment|_IH_Comment_C|Comment[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Comment|_IH_Comment_C|Comment[] findOrFail($id, array|string $columns = ['*'])
     * @method Comment|_IH_Comment_C|Comment[] findOrNew($id, array|string $columns = ['*'])
     * @method Comment findSole($id, array|string $columns = ['*'])
     * @method Comment|null first(array|string $columns = ['*'])
     * @method Comment firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Comment firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method Comment firstOrFail(array|string $columns = ['*'])
     * @method Comment firstOrNew(array $attributes = [], array $values = [])
     * @method Comment|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Comment forceCreate(array $attributes)
     * @method Comment forceCreateQuietly(array $attributes = [])
     * @method _IH_Comment_C|Comment[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Comment_C|Comment[] get(array|string $columns = ['*'])
     * @method Comment getModel()
     * @method Comment[] getModels(array|string $columns = ['*'])
     * @method _IH_Comment_C|Comment[] hydrate(array $items)
     * @method Comment incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_Comment_C|Comment[] lazy(int $chunkSize = 1000)
     * @method _IH_Comment_C|Comment[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Comment_C|Comment[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Comment make(array $attributes = [])
     * @method Comment newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Comment[]|_IH_Comment_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Comment restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|Comment[]|_IH_Comment_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Comment sole(array|string $columns = ['*'])
     * @method Comment updateOrCreate(array $attributes, array $values = [])
     * @method _IH_Comment_QB verified()
     */
    class _IH_Comment_QB extends _BaseBuilder {}
    
    /**
     * @method ContactRequest getOrPut($key, \Closure $value)
     * @method ContactRequest|$this shift(int $count = 1)
     * @method ContactRequest firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method ContactRequest|$this pop(int $count = 1)
     * @method ContactRequest|null pull($key, \Closure $default = null)
     * @method ContactRequest|null last(callable|null $callback = null, \Closure $default = null)
     * @method ContactRequest|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method ContactRequest sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method ContactRequest|null get(null $key, \Closure $default = null)
     * @method ContactRequest|null first(callable|null $callback = null, \Closure $default = null)
     * @method ContactRequest|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method ContactRequest|null find($key, $default = null)
     * @method ContactRequest[] all()
     */
    class _IH_ContactRequest_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return ContactRequest[][]|Collection<_IH_ContactRequest_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_ContactRequest_QB whereId($value)
     * @method _IH_ContactRequest_QB wherePhone($value)
     * @method _IH_ContactRequest_QB whereFullName($value)
     * @method _IH_ContactRequest_QB whereEmail($value)
     * @method _IH_ContactRequest_QB whereDescription($value)
     * @method _IH_ContactRequest_QB whereUserId($value)
     * @method _IH_ContactRequest_QB whereCreatedAt($value)
     * @method _IH_ContactRequest_QB whereUpdatedAt($value)
     * @method ContactRequest create(array $attributes = [])
     * @method ContactRequest createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method ContactRequest createOrRestore($attributes = [], $values = [])
     * @method ContactRequest createQuietly(array $attributes = [])
     * @method _IH_ContactRequest_C|ContactRequest[] cursor()
     * @method ContactRequest[] eagerLoadRelations(array $models)
     * @method ContactRequest|null|_IH_ContactRequest_C|ContactRequest[] find($id, array|string $columns = ['*'])
     * @method _IH_ContactRequest_C|ContactRequest[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method ContactRequest|_IH_ContactRequest_C|ContactRequest[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method ContactRequest|_IH_ContactRequest_C|ContactRequest[] findOrFail($id, array|string $columns = ['*'])
     * @method ContactRequest|_IH_ContactRequest_C|ContactRequest[] findOrNew($id, array|string $columns = ['*'])
     * @method ContactRequest findSole($id, array|string $columns = ['*'])
     * @method ContactRequest|null first(array|string $columns = ['*'])
     * @method ContactRequest firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method ContactRequest firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method ContactRequest firstOrFail(array|string $columns = ['*'])
     * @method ContactRequest firstOrNew(array $attributes = [], array $values = [])
     * @method ContactRequest|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method ContactRequest forceCreate(array $attributes)
     * @method ContactRequest forceCreateQuietly(array $attributes = [])
     * @method _IH_ContactRequest_C|ContactRequest[] fromQuery(string $query, array $bindings = [])
     * @method _IH_ContactRequest_C|ContactRequest[] get(array|string $columns = ['*'])
     * @method ContactRequest getModel()
     * @method ContactRequest[] getModels(array|string $columns = ['*'])
     * @method _IH_ContactRequest_C|ContactRequest[] hydrate(array $items)
     * @method ContactRequest incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_ContactRequest_C|ContactRequest[] lazy(int $chunkSize = 1000)
     * @method _IH_ContactRequest_C|ContactRequest[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_ContactRequest_C|ContactRequest[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method ContactRequest make(array $attributes = [])
     * @method ContactRequest newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|ContactRequest[]|_IH_ContactRequest_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method ContactRequest restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|ContactRequest[]|_IH_ContactRequest_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method ContactRequest sole(array|string $columns = ['*'])
     * @method ContactRequest updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_ContactRequest_QB extends _BaseBuilder {}
    
    /**
     * @method CouponUser getOrPut($key, \Closure $value)
     * @method CouponUser|$this shift(int $count = 1)
     * @method CouponUser firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method CouponUser|$this pop(int $count = 1)
     * @method CouponUser|null pull($key, \Closure $default = null)
     * @method CouponUser|null last(callable|null $callback = null, \Closure $default = null)
     * @method CouponUser|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method CouponUser sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method CouponUser|null get(null $key, \Closure $default = null)
     * @method CouponUser|null first(callable|null $callback = null, \Closure $default = null)
     * @method CouponUser|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method CouponUser|null find($key, $default = null)
     * @method CouponUser[] all()
     */
    class _IH_CouponUser_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return CouponUser[][]|Collection<_IH_CouponUser_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_CouponUser_QB whereId($value)
     * @method _IH_CouponUser_QB whereCouponId($value)
     * @method _IH_CouponUser_QB whereUserId($value)
     * @method _IH_CouponUser_QB whereCreatedAt($value)
     * @method _IH_CouponUser_QB whereUpdatedAt($value)
     * @method CouponUser create(array $attributes = [])
     * @method CouponUser createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method CouponUser createOrRestore($attributes = [], $values = [])
     * @method CouponUser createQuietly(array $attributes = [])
     * @method _IH_CouponUser_C|CouponUser[] cursor()
     * @method CouponUser[] eagerLoadRelations(array $models)
     * @method CouponUser|null|_IH_CouponUser_C|CouponUser[] find($id, array|string $columns = ['*'])
     * @method _IH_CouponUser_C|CouponUser[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method CouponUser|_IH_CouponUser_C|CouponUser[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method CouponUser|_IH_CouponUser_C|CouponUser[] findOrFail($id, array|string $columns = ['*'])
     * @method CouponUser|_IH_CouponUser_C|CouponUser[] findOrNew($id, array|string $columns = ['*'])
     * @method CouponUser findSole($id, array|string $columns = ['*'])
     * @method CouponUser|null first(array|string $columns = ['*'])
     * @method CouponUser firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method CouponUser firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method CouponUser firstOrFail(array|string $columns = ['*'])
     * @method CouponUser firstOrNew(array $attributes = [], array $values = [])
     * @method CouponUser|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method CouponUser forceCreate(array $attributes)
     * @method CouponUser forceCreateQuietly(array $attributes = [])
     * @method _IH_CouponUser_C|CouponUser[] fromQuery(string $query, array $bindings = [])
     * @method _IH_CouponUser_C|CouponUser[] get(array|string $columns = ['*'])
     * @method CouponUser getModel()
     * @method CouponUser[] getModels(array|string $columns = ['*'])
     * @method _IH_CouponUser_C|CouponUser[] hydrate(array $items)
     * @method CouponUser incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_CouponUser_C|CouponUser[] lazy(int $chunkSize = 1000)
     * @method _IH_CouponUser_C|CouponUser[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_CouponUser_C|CouponUser[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method CouponUser make(array $attributes = [])
     * @method CouponUser newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|CouponUser[]|_IH_CouponUser_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method CouponUser restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|CouponUser[]|_IH_CouponUser_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method CouponUser sole(array|string $columns = ['*'])
     * @method CouponUser updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_CouponUser_QB extends _BaseBuilder {}
    
    /**
     * @method Coupon getOrPut($key, \Closure $value)
     * @method Coupon|$this shift(int $count = 1)
     * @method Coupon firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Coupon|$this pop(int $count = 1)
     * @method Coupon|null pull($key, \Closure $default = null)
     * @method Coupon|null last(callable|null $callback = null, \Closure $default = null)
     * @method Coupon|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Coupon sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method Coupon|null get(null $key, \Closure $default = null)
     * @method Coupon|null first(callable|null $callback = null, \Closure $default = null)
     * @method Coupon|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Coupon|null find($key, $default = null)
     * @method Coupon[] all()
     */
    class _IH_Coupon_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return Coupon[][]|Collection<_IH_Coupon_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Coupon_QB whereId($value)
     * @method _IH_Coupon_QB whereCode($value)
     * @method _IH_Coupon_QB whereForAllUsers($value)
     * @method _IH_Coupon_QB whereDiscountType($value)
     * @method _IH_Coupon_QB whereDiscountValue($value)
     * @method _IH_Coupon_QB whereMaxDiscount($value)
     * @method _IH_Coupon_QB whereFreeShipping($value)
     * @method _IH_Coupon_QB whereStartsAt($value)
     * @method _IH_Coupon_QB whereExpiresAt($value)
     * @method _IH_Coupon_QB whereFirstOrderOnly($value)
     * @method _IH_Coupon_QB whereMinimumOrderAmount($value)
     * @method _IH_Coupon_QB whereUsageLimit($value)
     * @method _IH_Coupon_QB whereUsedCount($value)
     * @method _IH_Coupon_QB whereMaxUsageAmount($value)
     * @method _IH_Coupon_QB whereCategoryId($value)
     * @method _IH_Coupon_QB whereCreatedAt($value)
     * @method _IH_Coupon_QB whereUpdatedAt($value)
     * @method Coupon create(array $attributes = [])
     * @method Coupon createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method Coupon createOrRestore($attributes = [], $values = [])
     * @method Coupon createQuietly(array $attributes = [])
     * @method _IH_Coupon_C|Coupon[] cursor()
     * @method Coupon[] eagerLoadRelations(array $models)
     * @method Coupon|null|_IH_Coupon_C|Coupon[] find($id, array|string $columns = ['*'])
     * @method _IH_Coupon_C|Coupon[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Coupon|_IH_Coupon_C|Coupon[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Coupon|_IH_Coupon_C|Coupon[] findOrFail($id, array|string $columns = ['*'])
     * @method Coupon|_IH_Coupon_C|Coupon[] findOrNew($id, array|string $columns = ['*'])
     * @method Coupon findSole($id, array|string $columns = ['*'])
     * @method Coupon|null first(array|string $columns = ['*'])
     * @method Coupon firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Coupon firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method Coupon firstOrFail(array|string $columns = ['*'])
     * @method Coupon firstOrNew(array $attributes = [], array $values = [])
     * @method Coupon|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Coupon forceCreate(array $attributes)
     * @method Coupon forceCreateQuietly(array $attributes = [])
     * @method _IH_Coupon_C|Coupon[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Coupon_C|Coupon[] get(array|string $columns = ['*'])
     * @method Coupon getModel()
     * @method Coupon[] getModels(array|string $columns = ['*'])
     * @method _IH_Coupon_C|Coupon[] hydrate(array $items)
     * @method Coupon incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_Coupon_C|Coupon[] lazy(int $chunkSize = 1000)
     * @method _IH_Coupon_C|Coupon[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Coupon_C|Coupon[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Coupon make(array $attributes = [])
     * @method Coupon newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Coupon[]|_IH_Coupon_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Coupon restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|Coupon[]|_IH_Coupon_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Coupon sole(array|string $columns = ['*'])
     * @method Coupon updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Coupon_QB extends _BaseBuilder {}
    
    /**
     * @method Faq getOrPut($key, \Closure $value)
     * @method Faq|$this shift(int $count = 1)
     * @method Faq firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Faq|$this pop(int $count = 1)
     * @method Faq|null pull($key, \Closure $default = null)
     * @method Faq|null last(callable|null $callback = null, \Closure $default = null)
     * @method Faq|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Faq sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method Faq|null get(null $key, \Closure $default = null)
     * @method Faq|null first(callable|null $callback = null, \Closure $default = null)
     * @method Faq|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Faq|null find($key, $default = null)
     * @method Faq[] all()
     */
    class _IH_Faq_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return Faq[][]|Collection<_IH_Faq_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Faq_QB whereId($value)
     * @method _IH_Faq_QB whereQuestion($value)
     * @method _IH_Faq_QB whereAnswer($value)
     * @method _IH_Faq_QB whereCreatedAt($value)
     * @method _IH_Faq_QB whereUpdatedAt($value)
     * @method Faq create(array $attributes = [])
     * @method Faq createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method Faq createOrRestore($attributes = [], $values = [])
     * @method Faq createQuietly(array $attributes = [])
     * @method _IH_Faq_C|Faq[] cursor()
     * @method Faq[] eagerLoadRelations(array $models)
     * @method Faq|null|_IH_Faq_C|Faq[] find($id, array|string $columns = ['*'])
     * @method _IH_Faq_C|Faq[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Faq|_IH_Faq_C|Faq[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Faq|_IH_Faq_C|Faq[] findOrFail($id, array|string $columns = ['*'])
     * @method Faq|_IH_Faq_C|Faq[] findOrNew($id, array|string $columns = ['*'])
     * @method Faq findSole($id, array|string $columns = ['*'])
     * @method Faq|null first(array|string $columns = ['*'])
     * @method Faq firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Faq firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method Faq firstOrFail(array|string $columns = ['*'])
     * @method Faq firstOrNew(array $attributes = [], array $values = [])
     * @method Faq|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Faq forceCreate(array $attributes)
     * @method Faq forceCreateQuietly(array $attributes = [])
     * @method _IH_Faq_C|Faq[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Faq_C|Faq[] get(array|string $columns = ['*'])
     * @method Faq getModel()
     * @method Faq[] getModels(array|string $columns = ['*'])
     * @method _IH_Faq_C|Faq[] hydrate(array $items)
     * @method Faq incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_Faq_C|Faq[] lazy(int $chunkSize = 1000)
     * @method _IH_Faq_C|Faq[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Faq_C|Faq[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Faq make(array $attributes = [])
     * @method Faq newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Faq[]|_IH_Faq_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Faq restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|Faq[]|_IH_Faq_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Faq sole(array|string $columns = ['*'])
     * @method Faq updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Faq_QB extends _BaseBuilder {}
    
    /**
     * @method FooterSetting getOrPut($key, \Closure $value)
     * @method FooterSetting|$this shift(int $count = 1)
     * @method FooterSetting firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method FooterSetting|$this pop(int $count = 1)
     * @method FooterSetting|null pull($key, \Closure $default = null)
     * @method FooterSetting|null last(callable|null $callback = null, \Closure $default = null)
     * @method FooterSetting|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method FooterSetting sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method FooterSetting|null get(null $key, \Closure $default = null)
     * @method FooterSetting|null first(callable|null $callback = null, \Closure $default = null)
     * @method FooterSetting|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method FooterSetting|null find($key, $default = null)
     * @method FooterSetting[] all()
     */
    class _IH_FooterSetting_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return FooterSetting[][]|Collection<_IH_FooterSetting_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_FooterSetting_QB whereId($value)
     * @method _IH_FooterSetting_QB whereLogo($value)
     * @method _IH_FooterSetting_QB whereDescription($value)
     * @method _IH_FooterSetting_QB whereInmadLink($value)
     * @method _IH_FooterSetting_QB whereSamandehiLink($value)
     * @method _IH_FooterSetting_QB wherePhoneNumber($value)
     * @method _IH_FooterSetting_QB whereEmail($value)
     * @method _IH_FooterSetting_QB whereTelegramLink($value)
     * @method _IH_FooterSetting_QB whereYoutubeLink($value)
     * @method _IH_FooterSetting_QB whereInstagramLink($value)
     * @method _IH_FooterSetting_QB whereAddress($value)
     * @method _IH_FooterSetting_QB whereLatitude($value)
     * @method _IH_FooterSetting_QB whereLongitude($value)
     * @method _IH_FooterSetting_QB whereMapEmbedCode($value)
     * @method _IH_FooterSetting_QB whereMapProvider($value)
     * @method _IH_FooterSetting_QB whereMapZoom($value)
     * @method _IH_FooterSetting_QB whereCreatedAt($value)
     * @method _IH_FooterSetting_QB whereUpdatedAt($value)
     * @method FooterSetting create(array $attributes = [])
     * @method FooterSetting createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method FooterSetting createOrRestore($attributes = [], $values = [])
     * @method FooterSetting createQuietly(array $attributes = [])
     * @method _IH_FooterSetting_C|FooterSetting[] cursor()
     * @method FooterSetting[] eagerLoadRelations(array $models)
     * @method FooterSetting|null|_IH_FooterSetting_C|FooterSetting[] find($id, array|string $columns = ['*'])
     * @method _IH_FooterSetting_C|FooterSetting[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method FooterSetting|_IH_FooterSetting_C|FooterSetting[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method FooterSetting|_IH_FooterSetting_C|FooterSetting[] findOrFail($id, array|string $columns = ['*'])
     * @method FooterSetting|_IH_FooterSetting_C|FooterSetting[] findOrNew($id, array|string $columns = ['*'])
     * @method FooterSetting findSole($id, array|string $columns = ['*'])
     * @method FooterSetting|null first(array|string $columns = ['*'])
     * @method FooterSetting firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method FooterSetting firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method FooterSetting firstOrFail(array|string $columns = ['*'])
     * @method FooterSetting firstOrNew(array $attributes = [], array $values = [])
     * @method FooterSetting|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method FooterSetting forceCreate(array $attributes)
     * @method FooterSetting forceCreateQuietly(array $attributes = [])
     * @method _IH_FooterSetting_C|FooterSetting[] fromQuery(string $query, array $bindings = [])
     * @method _IH_FooterSetting_C|FooterSetting[] get(array|string $columns = ['*'])
     * @method FooterSetting getModel()
     * @method FooterSetting[] getModels(array|string $columns = ['*'])
     * @method _IH_FooterSetting_C|FooterSetting[] hydrate(array $items)
     * @method FooterSetting incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_FooterSetting_C|FooterSetting[] lazy(int $chunkSize = 1000)
     * @method _IH_FooterSetting_C|FooterSetting[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_FooterSetting_C|FooterSetting[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method FooterSetting make(array $attributes = [])
     * @method FooterSetting newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|FooterSetting[]|_IH_FooterSetting_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method FooterSetting restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|FooterSetting[]|_IH_FooterSetting_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method FooterSetting sole(array|string $columns = ['*'])
     * @method FooterSetting updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_FooterSetting_QB extends _BaseBuilder {}
    
    /**
     * @method Message getOrPut($key, \Closure $value)
     * @method Message|$this shift(int $count = 1)
     * @method Message firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Message|$this pop(int $count = 1)
     * @method Message|null pull($key, \Closure $default = null)
     * @method Message|null last(callable|null $callback = null, \Closure $default = null)
     * @method Message|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Message sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method Message|null get(null $key, \Closure $default = null)
     * @method Message|null first(callable|null $callback = null, \Closure $default = null)
     * @method Message|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Message|null find($key, $default = null)
     * @method Message[] all()
     */
    class _IH_Message_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return Message[][]|Collection<_IH_Message_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Message_QB whereId($value)
     * @method _IH_Message_QB whereChatId($value)
     * @method _IH_Message_QB whereAdminId($value)
     * @method _IH_Message_QB whereUserId($value)
     * @method _IH_Message_QB whereBody($value)
     * @method _IH_Message_QB whereCreatedAt($value)
     * @method _IH_Message_QB whereUpdatedAt($value)
     * @method Message create(array $attributes = [])
     * @method Message createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method Message createOrRestore($attributes = [], $values = [])
     * @method Message createQuietly(array $attributes = [])
     * @method _IH_Message_C|Message[] cursor()
     * @method Message[] eagerLoadRelations(array $models)
     * @method Message|null|_IH_Message_C|Message[] find($id, array|string $columns = ['*'])
     * @method _IH_Message_C|Message[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Message|_IH_Message_C|Message[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Message|_IH_Message_C|Message[] findOrFail($id, array|string $columns = ['*'])
     * @method Message|_IH_Message_C|Message[] findOrNew($id, array|string $columns = ['*'])
     * @method Message findSole($id, array|string $columns = ['*'])
     * @method Message|null first(array|string $columns = ['*'])
     * @method Message firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Message firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method Message firstOrFail(array|string $columns = ['*'])
     * @method Message firstOrNew(array $attributes = [], array $values = [])
     * @method Message|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Message forceCreate(array $attributes)
     * @method Message forceCreateQuietly(array $attributes = [])
     * @method _IH_Message_C|Message[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Message_C|Message[] get(array|string $columns = ['*'])
     * @method Message getModel()
     * @method Message[] getModels(array|string $columns = ['*'])
     * @method _IH_Message_C|Message[] hydrate(array $items)
     * @method Message incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_Message_C|Message[] lazy(int $chunkSize = 1000)
     * @method _IH_Message_C|Message[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Message_C|Message[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Message make(array $attributes = [])
     * @method Message newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Message[]|_IH_Message_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Message restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|Message[]|_IH_Message_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Message sole(array|string $columns = ['*'])
     * @method Message updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Message_QB extends _BaseBuilder {}
    
    /**
     * @method Notification getOrPut($key, \Closure $value)
     * @method Notification|$this shift(int $count = 1)
     * @method Notification firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Notification|$this pop(int $count = 1)
     * @method Notification|null pull($key, \Closure $default = null)
     * @method Notification|null last(callable|null $callback = null, \Closure $default = null)
     * @method Notification|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Notification sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method Notification|null get(null $key, \Closure $default = null)
     * @method Notification|null first(callable|null $callback = null, \Closure $default = null)
     * @method Notification|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Notification|null find($key, $default = null)
     * @method Notification[] all()
     */
    class _IH_Notification_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return Notification[][]|Collection<_IH_Notification_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Notification_QB whereId($value)
     * @method _IH_Notification_QB whereAdminId($value)
     * @method _IH_Notification_QB whereTitle($value)
     * @method _IH_Notification_QB whereMessage($value)
     * @method _IH_Notification_QB whereCreatedAt($value)
     * @method _IH_Notification_QB whereUpdatedAt($value)
     * @method Notification create(array $attributes = [])
     * @method Notification createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method Notification createOrRestore($attributes = [], $values = [])
     * @method Notification createQuietly(array $attributes = [])
     * @method _IH_Notification_C|Notification[] cursor()
     * @method Notification[] eagerLoadRelations(array $models)
     * @method Notification|null|_IH_Notification_C|Notification[] find($id, array|string $columns = ['*'])
     * @method _IH_Notification_C|Notification[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Notification|_IH_Notification_C|Notification[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Notification|_IH_Notification_C|Notification[] findOrFail($id, array|string $columns = ['*'])
     * @method Notification|_IH_Notification_C|Notification[] findOrNew($id, array|string $columns = ['*'])
     * @method Notification findSole($id, array|string $columns = ['*'])
     * @method Notification|null first(array|string $columns = ['*'])
     * @method Notification firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Notification firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method Notification firstOrFail(array|string $columns = ['*'])
     * @method Notification firstOrNew(array $attributes = [], array $values = [])
     * @method Notification|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Notification forceCreate(array $attributes)
     * @method Notification forceCreateQuietly(array $attributes = [])
     * @method _IH_Notification_C|Notification[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Notification_C|Notification[] get(array|string $columns = ['*'])
     * @method Notification getModel()
     * @method Notification[] getModels(array|string $columns = ['*'])
     * @method _IH_Notification_C|Notification[] hydrate(array $items)
     * @method Notification incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_Notification_C|Notification[] lazy(int $chunkSize = 1000)
     * @method _IH_Notification_C|Notification[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Notification_C|Notification[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Notification make(array $attributes = [])
     * @method Notification newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Notification[]|_IH_Notification_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Notification restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|Notification[]|_IH_Notification_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Notification sole(array|string $columns = ['*'])
     * @method Notification updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Notification_QB extends _BaseBuilder {}
    
    /**
     * @method Otp getOrPut($key, \Closure $value)
     * @method Otp|$this shift(int $count = 1)
     * @method Otp firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Otp|$this pop(int $count = 1)
     * @method Otp|null pull($key, \Closure $default = null)
     * @method Otp|null last(callable|null $callback = null, \Closure $default = null)
     * @method Otp|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Otp sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method Otp|null get(null $key, \Closure $default = null)
     * @method Otp|null first(callable|null $callback = null, \Closure $default = null)
     * @method Otp|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Otp|null find($key, $default = null)
     * @method Otp[] all()
     */
    class _IH_Otp_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return Otp[][]|Collection<_IH_Otp_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Otp_QB whereId($value)
     * @method _IH_Otp_QB wherePhone($value)
     * @method _IH_Otp_QB whereCode($value)
     * @method _IH_Otp_QB whereExpiresAt($value)
     * @method _IH_Otp_QB whereVerified($value)
     * @method _IH_Otp_QB whereCreatedAt($value)
     * @method _IH_Otp_QB whereUpdatedAt($value)
     * @method Otp create(array $attributes = [])
     * @method Otp createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method Otp createOrRestore($attributes = [], $values = [])
     * @method Otp createQuietly(array $attributes = [])
     * @method _IH_Otp_C|Otp[] cursor()
     * @method Otp[] eagerLoadRelations(array $models)
     * @method Otp|null|_IH_Otp_C|Otp[] find($id, array|string $columns = ['*'])
     * @method _IH_Otp_C|Otp[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Otp|_IH_Otp_C|Otp[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Otp|_IH_Otp_C|Otp[] findOrFail($id, array|string $columns = ['*'])
     * @method Otp|_IH_Otp_C|Otp[] findOrNew($id, array|string $columns = ['*'])
     * @method Otp findSole($id, array|string $columns = ['*'])
     * @method Otp|null first(array|string $columns = ['*'])
     * @method Otp firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Otp firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method Otp firstOrFail(array|string $columns = ['*'])
     * @method Otp firstOrNew(array $attributes = [], array $values = [])
     * @method Otp|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Otp forceCreate(array $attributes)
     * @method Otp forceCreateQuietly(array $attributes = [])
     * @method _IH_Otp_C|Otp[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Otp_C|Otp[] get(array|string $columns = ['*'])
     * @method Otp getModel()
     * @method Otp[] getModels(array|string $columns = ['*'])
     * @method _IH_Otp_C|Otp[] hydrate(array $items)
     * @method Otp incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_Otp_C|Otp[] lazy(int $chunkSize = 1000)
     * @method _IH_Otp_C|Otp[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Otp_C|Otp[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Otp make(array $attributes = [])
     * @method Otp newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Otp[]|_IH_Otp_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Otp restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|Otp[]|_IH_Otp_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Otp sole(array|string $columns = ['*'])
     * @method Otp updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Otp_QB extends _BaseBuilder {}
    
    /**
     * @method ProductAttribute getOrPut($key, \Closure $value)
     * @method ProductAttribute|$this shift(int $count = 1)
     * @method ProductAttribute firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method ProductAttribute|$this pop(int $count = 1)
     * @method ProductAttribute|null pull($key, \Closure $default = null)
     * @method ProductAttribute|null last(callable|null $callback = null, \Closure $default = null)
     * @method ProductAttribute|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method ProductAttribute sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method ProductAttribute|null get(null $key, \Closure $default = null)
     * @method ProductAttribute|null first(callable|null $callback = null, \Closure $default = null)
     * @method ProductAttribute|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method ProductAttribute|null find($key, $default = null)
     * @method ProductAttribute[] all()
     */
    class _IH_ProductAttribute_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return ProductAttribute[][]|Collection<_IH_ProductAttribute_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_ProductAttribute_QB whereId($value)
     * @method _IH_ProductAttribute_QB whereTitle($value)
     * @method _IH_ProductAttribute_QB whereDescription($value)
     * @method _IH_ProductAttribute_QB whereProductId($value)
     * @method _IH_ProductAttribute_QB whereCreatedAt($value)
     * @method _IH_ProductAttribute_QB whereUpdatedAt($value)
     * @method ProductAttribute create(array $attributes = [])
     * @method ProductAttribute createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method ProductAttribute createOrRestore($attributes = [], $values = [])
     * @method ProductAttribute createQuietly(array $attributes = [])
     * @method _IH_ProductAttribute_C|ProductAttribute[] cursor()
     * @method ProductAttribute[] eagerLoadRelations(array $models)
     * @method ProductAttribute|null|_IH_ProductAttribute_C|ProductAttribute[] find($id, array|string $columns = ['*'])
     * @method _IH_ProductAttribute_C|ProductAttribute[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method ProductAttribute|_IH_ProductAttribute_C|ProductAttribute[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method ProductAttribute|_IH_ProductAttribute_C|ProductAttribute[] findOrFail($id, array|string $columns = ['*'])
     * @method ProductAttribute|_IH_ProductAttribute_C|ProductAttribute[] findOrNew($id, array|string $columns = ['*'])
     * @method ProductAttribute findSole($id, array|string $columns = ['*'])
     * @method ProductAttribute|null first(array|string $columns = ['*'])
     * @method ProductAttribute firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method ProductAttribute firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method ProductAttribute firstOrFail(array|string $columns = ['*'])
     * @method ProductAttribute firstOrNew(array $attributes = [], array $values = [])
     * @method ProductAttribute|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method ProductAttribute forceCreate(array $attributes)
     * @method ProductAttribute forceCreateQuietly(array $attributes = [])
     * @method _IH_ProductAttribute_C|ProductAttribute[] fromQuery(string $query, array $bindings = [])
     * @method _IH_ProductAttribute_C|ProductAttribute[] get(array|string $columns = ['*'])
     * @method ProductAttribute getModel()
     * @method ProductAttribute[] getModels(array|string $columns = ['*'])
     * @method _IH_ProductAttribute_C|ProductAttribute[] hydrate(array $items)
     * @method ProductAttribute incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_ProductAttribute_C|ProductAttribute[] lazy(int $chunkSize = 1000)
     * @method _IH_ProductAttribute_C|ProductAttribute[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_ProductAttribute_C|ProductAttribute[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method ProductAttribute make(array $attributes = [])
     * @method ProductAttribute newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|ProductAttribute[]|_IH_ProductAttribute_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method ProductAttribute restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|ProductAttribute[]|_IH_ProductAttribute_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method ProductAttribute sole(array|string $columns = ['*'])
     * @method ProductAttribute updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_ProductAttribute_QB extends _BaseBuilder {}
    
    /**
     * @method ProductModel getOrPut($key, \Closure $value)
     * @method ProductModel|$this shift(int $count = 1)
     * @method ProductModel firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method ProductModel|$this pop(int $count = 1)
     * @method ProductModel|null pull($key, \Closure $default = null)
     * @method ProductModel|null last(callable|null $callback = null, \Closure $default = null)
     * @method ProductModel|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method ProductModel sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method ProductModel|null get(null $key, \Closure $default = null)
     * @method ProductModel|null first(callable|null $callback = null, \Closure $default = null)
     * @method ProductModel|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method ProductModel|null find($key, $default = null)
     * @method ProductModel[] all()
     */
    class _IH_ProductModel_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return ProductModel[][]|Collection<_IH_ProductModel_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_ProductModel_QB whereId($value)
     * @method _IH_ProductModel_QB whereType($value)
     * @method _IH_ProductModel_QB whereName($value)
     * @method _IH_ProductModel_QB wherePrice($value)
     * @method _IH_ProductModel_QB whereStock($value)
     * @method _IH_ProductModel_QB whereProductId($value)
     * @method _IH_ProductModel_QB whereHex($value)
     * @method _IH_ProductModel_QB whereSoldCount($value)
     * @method _IH_ProductModel_QB whereDeletedAt($value)
     * @method _IH_ProductModel_QB whereCreatedAt($value)
     * @method _IH_ProductModel_QB whereUpdatedAt($value)
     * @method ProductModel create(array $attributes = [])
     * @method ProductModel createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method ProductModel createOrRestore($attributes = [], $values = [])
     * @method ProductModel createQuietly(array $attributes = [])
     * @method _IH_ProductModel_C|ProductModel[] cursor()
     * @method ProductModel[] eagerLoadRelations(array $models)
     * @method ProductModel|null|_IH_ProductModel_C|ProductModel[] find($id, array|string $columns = ['*'])
     * @method _IH_ProductModel_C|ProductModel[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method ProductModel|_IH_ProductModel_C|ProductModel[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method ProductModel|_IH_ProductModel_C|ProductModel[] findOrFail($id, array|string $columns = ['*'])
     * @method ProductModel|_IH_ProductModel_C|ProductModel[] findOrNew($id, array|string $columns = ['*'])
     * @method ProductModel findSole($id, array|string $columns = ['*'])
     * @method ProductModel|null first(array|string $columns = ['*'])
     * @method ProductModel firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method ProductModel firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method ProductModel firstOrFail(array|string $columns = ['*'])
     * @method ProductModel firstOrNew(array $attributes = [], array $values = [])
     * @method ProductModel|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method ProductModel forceCreate(array $attributes)
     * @method ProductModel forceCreateQuietly(array $attributes = [])
     * @method _IH_ProductModel_C|ProductModel[] fromQuery(string $query, array $bindings = [])
     * @method _IH_ProductModel_C|ProductModel[] get(array|string $columns = ['*'])
     * @method ProductModel getModel()
     * @method ProductModel[] getModels(array|string $columns = ['*'])
     * @method _IH_ProductModel_C|ProductModel[] hydrate(array $items)
     * @method ProductModel incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_ProductModel_C|ProductModel[] lazy(int $chunkSize = 1000)
     * @method _IH_ProductModel_C|ProductModel[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_ProductModel_C|ProductModel[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method ProductModel make(array $attributes = [])
     * @method ProductModel newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|ProductModel[]|_IH_ProductModel_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method ProductModel restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|ProductModel[]|_IH_ProductModel_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method ProductModel sole(array|string $columns = ['*'])
     * @method ProductModel updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_ProductModel_QB extends _BaseBuilder {}
    
    /**
     * @method ProductRelation getOrPut($key, \Closure $value)
     * @method ProductRelation|$this shift(int $count = 1)
     * @method ProductRelation firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method ProductRelation|$this pop(int $count = 1)
     * @method ProductRelation|null pull($key, \Closure $default = null)
     * @method ProductRelation|null last(callable|null $callback = null, \Closure $default = null)
     * @method ProductRelation|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method ProductRelation sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method ProductRelation|null get(null $key, \Closure $default = null)
     * @method ProductRelation|null first(callable|null $callback = null, \Closure $default = null)
     * @method ProductRelation|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method ProductRelation|null find($key, $default = null)
     * @method ProductRelation[] all()
     */
    class _IH_ProductRelation_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return ProductRelation[][]|Collection<_IH_ProductRelation_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_ProductRelation_QB whereId($value)
     * @method _IH_ProductRelation_QB whereProductId($value)
     * @method _IH_ProductRelation_QB whereRelatedProductId($value)
     * @method _IH_ProductRelation_QB whereType($value)
     * @method _IH_ProductRelation_QB whereCreatedAt($value)
     * @method _IH_ProductRelation_QB whereUpdatedAt($value)
     * @method ProductRelation create(array $attributes = [])
     * @method ProductRelation createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method ProductRelation createOrRestore($attributes = [], $values = [])
     * @method ProductRelation createQuietly(array $attributes = [])
     * @method _IH_ProductRelation_C|ProductRelation[] cursor()
     * @method ProductRelation[] eagerLoadRelations(array $models)
     * @method ProductRelation|null|_IH_ProductRelation_C|ProductRelation[] find($id, array|string $columns = ['*'])
     * @method _IH_ProductRelation_C|ProductRelation[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method ProductRelation|_IH_ProductRelation_C|ProductRelation[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method ProductRelation|_IH_ProductRelation_C|ProductRelation[] findOrFail($id, array|string $columns = ['*'])
     * @method ProductRelation|_IH_ProductRelation_C|ProductRelation[] findOrNew($id, array|string $columns = ['*'])
     * @method ProductRelation findSole($id, array|string $columns = ['*'])
     * @method ProductRelation|null first(array|string $columns = ['*'])
     * @method ProductRelation firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method ProductRelation firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method ProductRelation firstOrFail(array|string $columns = ['*'])
     * @method ProductRelation firstOrNew(array $attributes = [], array $values = [])
     * @method ProductRelation|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method ProductRelation forceCreate(array $attributes)
     * @method ProductRelation forceCreateQuietly(array $attributes = [])
     * @method _IH_ProductRelation_C|ProductRelation[] fromQuery(string $query, array $bindings = [])
     * @method _IH_ProductRelation_C|ProductRelation[] get(array|string $columns = ['*'])
     * @method ProductRelation getModel()
     * @method ProductRelation[] getModels(array|string $columns = ['*'])
     * @method _IH_ProductRelation_C|ProductRelation[] hydrate(array $items)
     * @method ProductRelation incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_ProductRelation_C|ProductRelation[] lazy(int $chunkSize = 1000)
     * @method _IH_ProductRelation_C|ProductRelation[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_ProductRelation_C|ProductRelation[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method ProductRelation make(array $attributes = [])
     * @method ProductRelation newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|ProductRelation[]|_IH_ProductRelation_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method ProductRelation restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|ProductRelation[]|_IH_ProductRelation_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method ProductRelation sole(array|string $columns = ['*'])
     * @method ProductRelation updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_ProductRelation_QB extends _BaseBuilder {}
    
    /**
     * @method Product getOrPut($key, \Closure $value)
     * @method Product|$this shift(int $count = 1)
     * @method Product firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Product|$this pop(int $count = 1)
     * @method Product|null pull($key, \Closure $default = null)
     * @method Product|null last(callable|null $callback = null, \Closure $default = null)
     * @method Product|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Product sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method Product|null get(null $key, \Closure $default = null)
     * @method Product|null first(callable|null $callback = null, \Closure $default = null)
     * @method Product|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Product|null find($key, $default = null)
     * @method Product[] all()
     */
    class _IH_Product_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return Product[][]|Collection<_IH_Product_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Product_QB whereId($value)
     * @method _IH_Product_QB whereTitleFa($value)
     * @method _IH_Product_QB whereTitleEn($value)
     * @method _IH_Product_QB whereExpiresAt($value)
     * @method _IH_Product_QB whereDescription($value)
     * @method _IH_Product_QB whereSlug($value)
     * @method _IH_Product_QB whereIsPublished($value)
     * @method _IH_Product_QB whereCategoryId($value)
     * @method _IH_Product_QB whereBrandId($value)
     * @method _IH_Product_QB whereViews($value)
     * @method _IH_Product_QB whereDeletedAt($value)
     * @method _IH_Product_QB whereCreatedAt($value)
     * @method _IH_Product_QB whereUpdatedAt($value)
     * @method Product create(array $attributes = [])
     * @method Product createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method Product createOrRestore($attributes = [], $values = [])
     * @method Product createQuietly(array $attributes = [])
     * @method _IH_Product_C|Product[] cursor()
     * @method Product[] eagerLoadRelations(array $models)
     * @method Product|null|_IH_Product_C|Product[] find($id, array|string $columns = ['*'])
     * @method _IH_Product_C|Product[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Product|_IH_Product_C|Product[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Product|_IH_Product_C|Product[] findOrFail($id, array|string $columns = ['*'])
     * @method Product|_IH_Product_C|Product[] findOrNew($id, array|string $columns = ['*'])
     * @method Product findSole($id, array|string $columns = ['*'])
     * @method Product|null first(array|string $columns = ['*'])
     * @method Product firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Product firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method Product firstOrFail(array|string $columns = ['*'])
     * @method Product firstOrNew(array $attributes = [], array $values = [])
     * @method Product|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Product forceCreate(array $attributes)
     * @method Product forceCreateQuietly(array $attributes = [])
     * @method _IH_Product_C|Product[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Product_C|Product[] get(array|string $columns = ['*'])
     * @method Product getModel()
     * @method Product[] getModels(array|string $columns = ['*'])
     * @method _IH_Product_C|Product[] hydrate(array $items)
     * @method Product incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_Product_C|Product[] lazy(int $chunkSize = 1000)
     * @method _IH_Product_C|Product[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Product_C|Product[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Product make(array $attributes = [])
     * @method Product newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Product[]|_IH_Product_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Product restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|Product[]|_IH_Product_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Product sole(array|string $columns = ['*'])
     * @method Product updateOrCreate(array $attributes, array $values = [])
     * @method _IH_Product_QB available()
     * @method _IH_Product_QB brands(array $brandIds = [])
     * @method _IH_Product_QB category(array $categoryIds = [])
     * @method _IH_Product_QB color($color)
     * @method _IH_Product_QB priceRange($min, $max)
     * @method _IH_Product_QB published()
     * @method _IH_Product_QB search($keyword)
     * @method _IH_Product_QB size(array $sizes = [])
     */
    class _IH_Product_QB extends _BaseBuilder {}
    
    /**
     * @method Province getOrPut($key, \Closure $value)
     * @method Province|$this shift(int $count = 1)
     * @method Province firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Province|$this pop(int $count = 1)
     * @method Province|null pull($key, \Closure $default = null)
     * @method Province|null last(callable|null $callback = null, \Closure $default = null)
     * @method Province|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Province sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method Province|null get(null $key, \Closure $default = null)
     * @method Province|null first(callable|null $callback = null, \Closure $default = null)
     * @method Province|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Province|null find($key, $default = null)
     * @method Province[] all()
     */
    class _IH_Province_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return Province[][]|Collection<_IH_Province_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Province_QB whereId($value)
     * @method _IH_Province_QB whereName($value)
     * @method _IH_Province_QB whereCreatedAt($value)
     * @method _IH_Province_QB whereUpdatedAt($value)
     * @method Province create(array $attributes = [])
     * @method Province createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method Province createOrRestore($attributes = [], $values = [])
     * @method Province createQuietly(array $attributes = [])
     * @method _IH_Province_C|Province[] cursor()
     * @method Province[] eagerLoadRelations(array $models)
     * @method Province|null|_IH_Province_C|Province[] find($id, array|string $columns = ['*'])
     * @method _IH_Province_C|Province[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Province|_IH_Province_C|Province[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Province|_IH_Province_C|Province[] findOrFail($id, array|string $columns = ['*'])
     * @method Province|_IH_Province_C|Province[] findOrNew($id, array|string $columns = ['*'])
     * @method Province findSole($id, array|string $columns = ['*'])
     * @method Province|null first(array|string $columns = ['*'])
     * @method Province firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Province firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method Province firstOrFail(array|string $columns = ['*'])
     * @method Province firstOrNew(array $attributes = [], array $values = [])
     * @method Province|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Province forceCreate(array $attributes)
     * @method Province forceCreateQuietly(array $attributes = [])
     * @method _IH_Province_C|Province[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Province_C|Province[] get(array|string $columns = ['*'])
     * @method Province getModel()
     * @method Province[] getModels(array|string $columns = ['*'])
     * @method _IH_Province_C|Province[] hydrate(array $items)
     * @method Province incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_Province_C|Province[] lazy(int $chunkSize = 1000)
     * @method _IH_Province_C|Province[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Province_C|Province[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Province make(array $attributes = [])
     * @method Province newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Province[]|_IH_Province_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Province restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|Province[]|_IH_Province_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Province sole(array|string $columns = ['*'])
     * @method Province updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Province_QB extends _BaseBuilder {}
    
    /**
     * @method SearchHistory getOrPut($key, \Closure $value)
     * @method SearchHistory|$this shift(int $count = 1)
     * @method SearchHistory firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method SearchHistory|$this pop(int $count = 1)
     * @method SearchHistory|null pull($key, \Closure $default = null)
     * @method SearchHistory|null last(callable|null $callback = null, \Closure $default = null)
     * @method SearchHistory|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method SearchHistory sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method SearchHistory|null get(null $key, \Closure $default = null)
     * @method SearchHistory|null first(callable|null $callback = null, \Closure $default = null)
     * @method SearchHistory|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method SearchHistory|null find($key, $default = null)
     * @method SearchHistory[] all()
     */
    class _IH_SearchHistory_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return SearchHistory[][]|Collection<_IH_SearchHistory_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_SearchHistory_QB whereId($value)
     * @method _IH_SearchHistory_QB whereTitle($value)
     * @method _IH_SearchHistory_QB whereType($value)
     * @method _IH_SearchHistory_QB whereSort($value)
     * @method _IH_SearchHistory_QB whereCreatedAt($value)
     * @method _IH_SearchHistory_QB whereUpdatedAt($value)
     * @method SearchHistory create(array $attributes = [])
     * @method SearchHistory createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method SearchHistory createOrRestore($attributes = [], $values = [])
     * @method SearchHistory createQuietly(array $attributes = [])
     * @method _IH_SearchHistory_C|SearchHistory[] cursor()
     * @method SearchHistory[] eagerLoadRelations(array $models)
     * @method SearchHistory|null|_IH_SearchHistory_C|SearchHistory[] find($id, array|string $columns = ['*'])
     * @method _IH_SearchHistory_C|SearchHistory[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method SearchHistory|_IH_SearchHistory_C|SearchHistory[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method SearchHistory|_IH_SearchHistory_C|SearchHistory[] findOrFail($id, array|string $columns = ['*'])
     * @method SearchHistory|_IH_SearchHistory_C|SearchHistory[] findOrNew($id, array|string $columns = ['*'])
     * @method SearchHistory findSole($id, array|string $columns = ['*'])
     * @method SearchHistory|null first(array|string $columns = ['*'])
     * @method SearchHistory firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method SearchHistory firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method SearchHistory firstOrFail(array|string $columns = ['*'])
     * @method SearchHistory firstOrNew(array $attributes = [], array $values = [])
     * @method SearchHistory|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method SearchHistory forceCreate(array $attributes)
     * @method SearchHistory forceCreateQuietly(array $attributes = [])
     * @method _IH_SearchHistory_C|SearchHistory[] fromQuery(string $query, array $bindings = [])
     * @method _IH_SearchHistory_C|SearchHistory[] get(array|string $columns = ['*'])
     * @method SearchHistory getModel()
     * @method SearchHistory[] getModels(array|string $columns = ['*'])
     * @method _IH_SearchHistory_C|SearchHistory[] hydrate(array $items)
     * @method SearchHistory incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_SearchHistory_C|SearchHistory[] lazy(int $chunkSize = 1000)
     * @method _IH_SearchHistory_C|SearchHistory[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_SearchHistory_C|SearchHistory[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method SearchHistory make(array $attributes = [])
     * @method SearchHistory newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|SearchHistory[]|_IH_SearchHistory_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method SearchHistory restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|SearchHistory[]|_IH_SearchHistory_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method SearchHistory sole(array|string $columns = ['*'])
     * @method SearchHistory updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_SearchHistory_QB extends _BaseBuilder {}
    
    /**
     * @method StaticPageSetting getOrPut($key, \Closure $value)
     * @method StaticPageSetting|$this shift(int $count = 1)
     * @method StaticPageSetting firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method StaticPageSetting|$this pop(int $count = 1)
     * @method StaticPageSetting|null pull($key, \Closure $default = null)
     * @method StaticPageSetting|null last(callable|null $callback = null, \Closure $default = null)
     * @method StaticPageSetting|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method StaticPageSetting sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method StaticPageSetting|null get(null $key, \Closure $default = null)
     * @method StaticPageSetting|null first(callable|null $callback = null, \Closure $default = null)
     * @method StaticPageSetting|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method StaticPageSetting|null find($key, $default = null)
     * @method StaticPageSetting[] all()
     */
    class _IH_StaticPageSetting_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return StaticPageSetting[][]|Collection<_IH_StaticPageSetting_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_StaticPageSetting_QB whereId($value)
     * @method _IH_StaticPageSetting_QB whereType($value)
     * @method _IH_StaticPageSetting_QB whereTitle($value)
     * @method _IH_StaticPageSetting_QB whereDescription($value)
     * @method _IH_StaticPageSetting_QB whereCreatedAt($value)
     * @method _IH_StaticPageSetting_QB whereUpdatedAt($value)
     * @method StaticPageSetting create(array $attributes = [])
     * @method StaticPageSetting createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method StaticPageSetting createOrRestore($attributes = [], $values = [])
     * @method StaticPageSetting createQuietly(array $attributes = [])
     * @method _IH_StaticPageSetting_C|StaticPageSetting[] cursor()
     * @method StaticPageSetting[] eagerLoadRelations(array $models)
     * @method StaticPageSetting|null|_IH_StaticPageSetting_C|StaticPageSetting[] find($id, array|string $columns = ['*'])
     * @method _IH_StaticPageSetting_C|StaticPageSetting[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method StaticPageSetting|_IH_StaticPageSetting_C|StaticPageSetting[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method StaticPageSetting|_IH_StaticPageSetting_C|StaticPageSetting[] findOrFail($id, array|string $columns = ['*'])
     * @method StaticPageSetting|_IH_StaticPageSetting_C|StaticPageSetting[] findOrNew($id, array|string $columns = ['*'])
     * @method StaticPageSetting findSole($id, array|string $columns = ['*'])
     * @method StaticPageSetting|null first(array|string $columns = ['*'])
     * @method StaticPageSetting firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method StaticPageSetting firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method StaticPageSetting firstOrFail(array|string $columns = ['*'])
     * @method StaticPageSetting firstOrNew(array $attributes = [], array $values = [])
     * @method StaticPageSetting|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method StaticPageSetting forceCreate(array $attributes)
     * @method StaticPageSetting forceCreateQuietly(array $attributes = [])
     * @method _IH_StaticPageSetting_C|StaticPageSetting[] fromQuery(string $query, array $bindings = [])
     * @method _IH_StaticPageSetting_C|StaticPageSetting[] get(array|string $columns = ['*'])
     * @method StaticPageSetting getModel()
     * @method StaticPageSetting[] getModels(array|string $columns = ['*'])
     * @method _IH_StaticPageSetting_C|StaticPageSetting[] hydrate(array $items)
     * @method StaticPageSetting incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_StaticPageSetting_C|StaticPageSetting[] lazy(int $chunkSize = 1000)
     * @method _IH_StaticPageSetting_C|StaticPageSetting[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_StaticPageSetting_C|StaticPageSetting[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method StaticPageSetting make(array $attributes = [])
     * @method StaticPageSetting newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|StaticPageSetting[]|_IH_StaticPageSetting_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method StaticPageSetting restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|StaticPageSetting[]|_IH_StaticPageSetting_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method StaticPageSetting sole(array|string $columns = ['*'])
     * @method StaticPageSetting updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_StaticPageSetting_QB extends _BaseBuilder {}
    
    /**
     * @method Transaction getOrPut($key, \Closure $value)
     * @method Transaction|$this shift(int $count = 1)
     * @method Transaction firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Transaction|$this pop(int $count = 1)
     * @method Transaction|null pull($key, \Closure $default = null)
     * @method Transaction|null last(callable|null $callback = null, \Closure $default = null)
     * @method Transaction|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Transaction sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method Transaction|null get(null $key, \Closure $default = null)
     * @method Transaction|null first(callable|null $callback = null, \Closure $default = null)
     * @method Transaction|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Transaction|null find($key, $default = null)
     * @method Transaction[] all()
     */
    class _IH_Transaction_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return Transaction[][]|Collection<_IH_Transaction_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Transaction_QB whereId($value)
     * @method _IH_Transaction_QB whereUserId($value)
     * @method _IH_Transaction_QB whereAmount($value)
     * @method _IH_Transaction_QB whereType($value)
     * @method _IH_Transaction_QB whereVerifiedAt($value)
     * @method _IH_Transaction_QB whereAuthority($value)
     * @method _IH_Transaction_QB whereFailedAt($value)
     * @method _IH_Transaction_QB whereCreatedAt($value)
     * @method _IH_Transaction_QB whereUpdatedAt($value)
     * @method _IH_Transaction_QB whereCardId($value)
     * @method Transaction create(array $attributes = [])
     * @method Transaction createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method Transaction createOrRestore($attributes = [], $values = [])
     * @method Transaction createQuietly(array $attributes = [])
     * @method _IH_Transaction_C|Transaction[] cursor()
     * @method Transaction[] eagerLoadRelations(array $models)
     * @method Transaction|null|_IH_Transaction_C|Transaction[] find($id, array|string $columns = ['*'])
     * @method _IH_Transaction_C|Transaction[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Transaction|_IH_Transaction_C|Transaction[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Transaction|_IH_Transaction_C|Transaction[] findOrFail($id, array|string $columns = ['*'])
     * @method Transaction|_IH_Transaction_C|Transaction[] findOrNew($id, array|string $columns = ['*'])
     * @method Transaction findSole($id, array|string $columns = ['*'])
     * @method Transaction|null first(array|string $columns = ['*'])
     * @method Transaction firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Transaction firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method Transaction firstOrFail(array|string $columns = ['*'])
     * @method Transaction firstOrNew(array $attributes = [], array $values = [])
     * @method Transaction|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Transaction forceCreate(array $attributes)
     * @method Transaction forceCreateQuietly(array $attributes = [])
     * @method _IH_Transaction_C|Transaction[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Transaction_C|Transaction[] get(array|string $columns = ['*'])
     * @method Transaction getModel()
     * @method Transaction[] getModels(array|string $columns = ['*'])
     * @method _IH_Transaction_C|Transaction[] hydrate(array $items)
     * @method Transaction incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_Transaction_C|Transaction[] lazy(int $chunkSize = 1000)
     * @method _IH_Transaction_C|Transaction[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Transaction_C|Transaction[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Transaction make(array $attributes = [])
     * @method Transaction newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Transaction[]|_IH_Transaction_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Transaction restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|Transaction[]|_IH_Transaction_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Transaction sole(array|string $columns = ['*'])
     * @method Transaction updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Transaction_QB extends _BaseBuilder {}
    
    /**
     * @method User getOrPut($key, \Closure $value)
     * @method User|$this shift(int $count = 1)
     * @method User firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method User|$this pop(int $count = 1)
     * @method User|null pull($key, \Closure $default = null)
     * @method User|null last(callable|null $callback = null, \Closure $default = null)
     * @method User|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method User sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method User|null get(null $key, \Closure $default = null)
     * @method User|null first(callable|null $callback = null, \Closure $default = null)
     * @method User|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method User|null find($key, $default = null)
     * @method User[] all()
     */
    class _IH_User_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return User[][]|Collection<_IH_User_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_User_QB whereId($value)
     * @method _IH_User_QB wherePhone($value)
     * @method _IH_User_QB wherePhoneVerifiedAt($value)
     * @method _IH_User_QB whereFirstName($value)
     * @method _IH_User_QB whereLastName($value)
     * @method _IH_User_QB whereEmail($value)
     * @method _IH_User_QB whereNationalCode($value)
     * @method _IH_User_QB whereBirthDate($value)
     * @method _IH_User_QB whereRememberToken($value)
     * @method _IH_User_QB whereCreatedAt($value)
     * @method _IH_User_QB whereUpdatedAt($value)
     * @method _IH_User_QB whereBalance($value)
     * @method User create(array $attributes = [])
     * @method User createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method User createOrRestore($attributes = [], $values = [])
     * @method User createQuietly(array $attributes = [])
     * @method _IH_User_C|User[] cursor()
     * @method User[] eagerLoadRelations(array $models)
     * @method User|null|_IH_User_C|User[] find($id, array|string $columns = ['*'])
     * @method _IH_User_C|User[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method User|_IH_User_C|User[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method User|_IH_User_C|User[] findOrFail($id, array|string $columns = ['*'])
     * @method User|_IH_User_C|User[] findOrNew($id, array|string $columns = ['*'])
     * @method User findSole($id, array|string $columns = ['*'])
     * @method User|null first(array|string $columns = ['*'])
     * @method User firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method User firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method User firstOrFail(array|string $columns = ['*'])
     * @method User firstOrNew(array $attributes = [], array $values = [])
     * @method User|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method User forceCreate(array $attributes)
     * @method User forceCreateQuietly(array $attributes = [])
     * @method _IH_User_C|User[] fromQuery(string $query, array $bindings = [])
     * @method _IH_User_C|User[] get(array|string $columns = ['*'])
     * @method User getModel()
     * @method User[] getModels(array|string $columns = ['*'])
     * @method _IH_User_C|User[] hydrate(array $items)
     * @method User incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_User_C|User[] lazy(int $chunkSize = 1000)
     * @method _IH_User_C|User[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_User_C|User[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method User make(array $attributes = [])
     * @method User newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|User[]|_IH_User_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method User restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|User[]|_IH_User_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method User sole(array|string $columns = ['*'])
     * @method User updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_User_QB extends _BaseBuilder {}
}