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

namespace LaravelIdea\Helper\App\Models {

    use App\Models\Admin;
    use App\Models\Currency;
    use App\Models\DepositMethod;
    use App\Models\Language;
    use App\Models\PaymentGateway;
    use App\Models\Plugin;
    use App\Models\Setting;
    use App\Models\Staff;
    use App\Models\User;
    use App\Models\Wallet;
    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 Admin|null getOrPut($key, \Closure $value)
     * @method Admin|$this shift(int $count = 1)
     * @method Admin|null 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|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method Admin|null get($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
         * @return Admin[][]|Collection<_IH_Admin_C>
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Admin_QB whereId($value)
     * @method _IH_Admin_QB whereAvatar($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 whereStatus($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 $values = [])
     * @method Admin createOrRestore(array $attributes = [], array $values = [])
     * @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 first(array|string $columns = ['*'])
     * @method Admin firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Admin firstOrCreate(array $attributes = [], array $values = [])
     * @method Admin firstOrFail(array|string $columns = ['*'])
     * @method Admin firstOrNew(array $attributes = [], array $values = [])
     * @method Admin 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 _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(array $attributes = [], array $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 Currency|null getOrPut($key, \Closure $value)
     * @method Currency|$this shift(int $count = 1)
     * @method Currency|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Currency|$this pop(int $count = 1)
     * @method Currency|null pull($key, \Closure $default = null)
     * @method Currency|null last(callable|null $callback = null, \Closure $default = null)
     * @method Currency|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Currency|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method Currency|null get($key, \Closure $default = null)
     * @method Currency|null first(callable|null $callback = null, \Closure $default = null)
     * @method Currency|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Currency|null find($key, $default = null)
     * @method Currency[] all()
     */
    class _IH_Currency_C extends _BaseCollection {
        /**
         * @param int $size
         * @return Currency[][]|Collection<_IH_Currency_C>
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Currency_QB whereId($value)
     * @method _IH_Currency_QB whereFlag($value)
     * @method _IH_Currency_QB whereName($value)
     * @method _IH_Currency_QB whereCode($value)
     * @method _IH_Currency_QB whereSymbol($value)
     * @method _IH_Currency_QB whereType($value)
     * @method _IH_Currency_QB whereExchangeRate($value)
     * @method _IH_Currency_QB whereRateLive($value)
     * @method _IH_Currency_QB whereRole($value)
     * @method _IH_Currency_QB whereDefault($value)
     * @method _IH_Currency_QB whereStatus($value)
     * @method _IH_Currency_QB whereCreatedAt($value)
     * @method _IH_Currency_QB whereUpdatedAt($value)
     * @method Currency create(array $attributes = [])
     * @method Currency createOrFirst(array $attributes = [], array $values = [])
     * @method Currency createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_Currency_C|Currency[] cursor()
     * @method Currency[] eagerLoadRelations(array $models)
     * @method Currency|null|_IH_Currency_C|Currency[] find($id, array|string $columns = ['*'])
     * @method _IH_Currency_C|Currency[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Currency|_IH_Currency_C|Currency[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Currency|_IH_Currency_C|Currency[] findOrFail($id, array|string $columns = ['*'])
     * @method Currency|_IH_Currency_C|Currency[] findOrNew($id, array|string $columns = ['*'])
     * @method Currency first(array|string $columns = ['*'])
     * @method Currency firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Currency firstOrCreate(array $attributes = [], array $values = [])
     * @method Currency firstOrFail(array|string $columns = ['*'])
     * @method Currency firstOrNew(array $attributes = [], array $values = [])
     * @method Currency firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Currency forceCreate(array $attributes)
     * @method Currency forceCreateQuietly(array $attributes = [])
     * @method _IH_Currency_C|Currency[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Currency_C|Currency[] get(array|string $columns = ['*'])
     * @method Currency getModel()
     * @method Currency[] getModels(array|string $columns = ['*'])
     * @method _IH_Currency_C|Currency[] hydrate(array $items)
     * @method _IH_Currency_C|Currency[] lazy(int $chunkSize = 1000)
     * @method _IH_Currency_C|Currency[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Currency_C|Currency[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Currency make(array $attributes = [])
     * @method Currency newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Currency[]|_IH_Currency_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Currency restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|Currency[]|_IH_Currency_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Currency sole(array|string $columns = ['*'])
     * @method Currency updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Currency_QB extends _BaseBuilder {}
    
    /**
     * @method DepositMethod|null getOrPut($key, \Closure $value)
     * @method DepositMethod|$this shift(int $count = 1)
     * @method DepositMethod|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method DepositMethod|$this pop(int $count = 1)
     * @method DepositMethod|null pull($key, \Closure $default = null)
     * @method DepositMethod|null last(callable|null $callback = null, \Closure $default = null)
     * @method DepositMethod|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method DepositMethod|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method DepositMethod|null get($key, \Closure $default = null)
     * @method DepositMethod|null first(callable|null $callback = null, \Closure $default = null)
     * @method DepositMethod|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method DepositMethod|null find($key, $default = null)
     * @method DepositMethod[] all()
     */
    class _IH_DepositMethod_C extends _BaseCollection {
        /**
         * @param int $size
         * @return DepositMethod[][]|Collection<_IH_DepositMethod_C>
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_DepositMethod_QB whereId($value)
     * @method _IH_DepositMethod_QB wherePaymentGatewayId($value)
     * @method _IH_DepositMethod_QB whereIcon($value)
     * @method _IH_DepositMethod_QB whereName($value)
     * @method _IH_DepositMethod_QB whereType($value)
     * @method _IH_DepositMethod_QB whereCode($value)
     * @method _IH_DepositMethod_QB whereCurrency($value)
     * @method _IH_DepositMethod_QB whereCurrencySymbol($value)
     * @method _IH_DepositMethod_QB whereMinLimit($value)
     * @method _IH_DepositMethod_QB whereMaxLimit($value)
     * @method _IH_DepositMethod_QB whereRateType($value)
     * @method _IH_DepositMethod_QB whereRate($value)
     * @method _IH_DepositMethod_QB whereChargeType($value)
     * @method _IH_DepositMethod_QB whereCharge($value)
     * @method _IH_DepositMethod_QB whereFields($value)
     * @method _IH_DepositMethod_QB whereNotes($value)
     * @method _IH_DepositMethod_QB whereStatus($value)
     * @method _IH_DepositMethod_QB whereCreatedAt($value)
     * @method _IH_DepositMethod_QB whereUpdatedAt($value)
     * @method DepositMethod create(array $attributes = [])
     * @method DepositMethod createOrFirst(array $attributes = [], array $values = [])
     * @method DepositMethod createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_DepositMethod_C|DepositMethod[] cursor()
     * @method DepositMethod[] eagerLoadRelations(array $models)
     * @method DepositMethod|null|_IH_DepositMethod_C|DepositMethod[] find($id, array|string $columns = ['*'])
     * @method _IH_DepositMethod_C|DepositMethod[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method DepositMethod|_IH_DepositMethod_C|DepositMethod[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method DepositMethod|_IH_DepositMethod_C|DepositMethod[] findOrFail($id, array|string $columns = ['*'])
     * @method DepositMethod|_IH_DepositMethod_C|DepositMethod[] findOrNew($id, array|string $columns = ['*'])
     * @method DepositMethod first(array|string $columns = ['*'])
     * @method DepositMethod firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method DepositMethod firstOrCreate(array $attributes = [], array $values = [])
     * @method DepositMethod firstOrFail(array|string $columns = ['*'])
     * @method DepositMethod firstOrNew(array $attributes = [], array $values = [])
     * @method DepositMethod firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method DepositMethod forceCreate(array $attributes)
     * @method DepositMethod forceCreateQuietly(array $attributes = [])
     * @method _IH_DepositMethod_C|DepositMethod[] fromQuery(string $query, array $bindings = [])
     * @method _IH_DepositMethod_C|DepositMethod[] get(array|string $columns = ['*'])
     * @method DepositMethod getModel()
     * @method DepositMethod[] getModels(array|string $columns = ['*'])
     * @method _IH_DepositMethod_C|DepositMethod[] hydrate(array $items)
     * @method _IH_DepositMethod_C|DepositMethod[] lazy(int $chunkSize = 1000)
     * @method _IH_DepositMethod_C|DepositMethod[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_DepositMethod_C|DepositMethod[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method DepositMethod make(array $attributes = [])
     * @method DepositMethod newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|DepositMethod[]|_IH_DepositMethod_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method DepositMethod restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|DepositMethod[]|_IH_DepositMethod_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method DepositMethod sole(array|string $columns = ['*'])
     * @method DepositMethod updateOrCreate(array $attributes, array $values = [])
     * @method _IH_DepositMethod_QB active()
     * @method _IH_DepositMethod_QB getByCode($code)
     */
    class _IH_DepositMethod_QB extends _BaseBuilder {}
    
    /**
     * @method Language|null getOrPut($key, \Closure $value)
     * @method Language|$this shift(int $count = 1)
     * @method Language|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Language|$this pop(int $count = 1)
     * @method Language|null pull($key, \Closure $default = null)
     * @method Language|null last(callable|null $callback = null, \Closure $default = null)
     * @method Language|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Language|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method Language|null get($key, \Closure $default = null)
     * @method Language|null first(callable|null $callback = null, \Closure $default = null)
     * @method Language|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Language|null find($key, $default = null)
     * @method Language[] all()
     */
    class _IH_Language_C extends _BaseCollection {
        /**
         * @param int $size
         * @return Language[][]|Collection<_IH_Language_C>
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Language_QB whereId($value)
     * @method _IH_Language_QB whereFlag($value)
     * @method _IH_Language_QB whereName($value)
     * @method _IH_Language_QB whereCode($value)
     * @method _IH_Language_QB whereIsDefault($value)
     * @method _IH_Language_QB whereIsRtl($value)
     * @method _IH_Language_QB whereStatus($value)
     * @method _IH_Language_QB whereCreatedAt($value)
     * @method _IH_Language_QB whereUpdatedAt($value)
     * @method Language create(array $attributes = [])
     * @method Language createOrFirst(array $attributes = [], array $values = [])
     * @method Language createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_Language_C|Language[] cursor()
     * @method Language[] eagerLoadRelations(array $models)
     * @method Language|null|_IH_Language_C|Language[] find($id, array|string $columns = ['*'])
     * @method _IH_Language_C|Language[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Language|_IH_Language_C|Language[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Language|_IH_Language_C|Language[] findOrFail($id, array|string $columns = ['*'])
     * @method Language|_IH_Language_C|Language[] findOrNew($id, array|string $columns = ['*'])
     * @method Language first(array|string $columns = ['*'])
     * @method Language firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Language firstOrCreate(array $attributes = [], array $values = [])
     * @method Language firstOrFail(array|string $columns = ['*'])
     * @method Language firstOrNew(array $attributes = [], array $values = [])
     * @method Language firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Language forceCreate(array $attributes)
     * @method Language forceCreateQuietly(array $attributes = [])
     * @method _IH_Language_C|Language[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Language_C|Language[] get(array|string $columns = ['*'])
     * @method Language getModel()
     * @method Language[] getModels(array|string $columns = ['*'])
     * @method _IH_Language_C|Language[] hydrate(array $items)
     * @method _IH_Language_C|Language[] lazy(int $chunkSize = 1000)
     * @method _IH_Language_C|Language[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Language_C|Language[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Language make(array $attributes = [])
     * @method Language newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Language[]|_IH_Language_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Language restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|Language[]|_IH_Language_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Language sole(array|string $columns = ['*'])
     * @method Language updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Language_QB extends _BaseBuilder {}
    
    /**
     * @method PaymentGateway|null getOrPut($key, \Closure $value)
     * @method PaymentGateway|$this shift(int $count = 1)
     * @method PaymentGateway|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method PaymentGateway|$this pop(int $count = 1)
     * @method PaymentGateway|null pull($key, \Closure $default = null)
     * @method PaymentGateway|null last(callable|null $callback = null, \Closure $default = null)
     * @method PaymentGateway|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method PaymentGateway|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method PaymentGateway|null get($key, \Closure $default = null)
     * @method PaymentGateway|null first(callable|null $callback = null, \Closure $default = null)
     * @method PaymentGateway|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method PaymentGateway|null find($key, $default = null)
     * @method PaymentGateway[] all()
     */
    class _IH_PaymentGateway_C extends _BaseCollection {
        /**
         * @param int $size
         * @return PaymentGateway[][]|Collection<_IH_PaymentGateway_C>
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_PaymentGateway_QB whereId($value)
     * @method _IH_PaymentGateway_QB whereLogo($value)
     * @method _IH_PaymentGateway_QB whereName($value)
     * @method _IH_PaymentGateway_QB whereCode($value)
     * @method _IH_PaymentGateway_QB whereCurrencies($value)
     * @method _IH_PaymentGateway_QB whereCredentials($value)
     * @method _IH_PaymentGateway_QB whereIsWithdraw($value)
     * @method _IH_PaymentGateway_QB whereStatus($value)
     * @method _IH_PaymentGateway_QB whereCreatedAt($value)
     * @method _IH_PaymentGateway_QB whereUpdatedAt($value)
     * @method PaymentGateway create(array $attributes = [])
     * @method PaymentGateway createOrFirst(array $attributes = [], array $values = [])
     * @method PaymentGateway createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_PaymentGateway_C|PaymentGateway[] cursor()
     * @method PaymentGateway[] eagerLoadRelations(array $models)
     * @method PaymentGateway|null|_IH_PaymentGateway_C|PaymentGateway[] find($id, array|string $columns = ['*'])
     * @method _IH_PaymentGateway_C|PaymentGateway[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method PaymentGateway|_IH_PaymentGateway_C|PaymentGateway[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method PaymentGateway|_IH_PaymentGateway_C|PaymentGateway[] findOrFail($id, array|string $columns = ['*'])
     * @method PaymentGateway|_IH_PaymentGateway_C|PaymentGateway[] findOrNew($id, array|string $columns = ['*'])
     * @method PaymentGateway first(array|string $columns = ['*'])
     * @method PaymentGateway firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method PaymentGateway firstOrCreate(array $attributes = [], array $values = [])
     * @method PaymentGateway firstOrFail(array|string $columns = ['*'])
     * @method PaymentGateway firstOrNew(array $attributes = [], array $values = [])
     * @method PaymentGateway firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method PaymentGateway forceCreate(array $attributes)
     * @method PaymentGateway forceCreateQuietly(array $attributes = [])
     * @method _IH_PaymentGateway_C|PaymentGateway[] fromQuery(string $query, array $bindings = [])
     * @method _IH_PaymentGateway_C|PaymentGateway[] get(array|string $columns = ['*'])
     * @method PaymentGateway getModel()
     * @method PaymentGateway[] getModels(array|string $columns = ['*'])
     * @method _IH_PaymentGateway_C|PaymentGateway[] hydrate(array $items)
     * @method _IH_PaymentGateway_C|PaymentGateway[] lazy(int $chunkSize = 1000)
     * @method _IH_PaymentGateway_C|PaymentGateway[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_PaymentGateway_C|PaymentGateway[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method PaymentGateway make(array $attributes = [])
     * @method PaymentGateway newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|PaymentGateway[]|_IH_PaymentGateway_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method PaymentGateway restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|PaymentGateway[]|_IH_PaymentGateway_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method PaymentGateway sole(array|string $columns = ['*'])
     * @method PaymentGateway updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_PaymentGateway_QB extends _BaseBuilder {}
    
    /**
     * @method Plugin|null getOrPut($key, \Closure $value)
     * @method Plugin|$this shift(int $count = 1)
     * @method Plugin|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Plugin|$this pop(int $count = 1)
     * @method Plugin|null pull($key, \Closure $default = null)
     * @method Plugin|null last(callable|null $callback = null, \Closure $default = null)
     * @method Plugin|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Plugin|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method Plugin|null get($key, \Closure $default = null)
     * @method Plugin|null first(callable|null $callback = null, \Closure $default = null)
     * @method Plugin|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Plugin|null find($key, $default = null)
     * @method Plugin[] all()
     */
    class _IH_Plugin_C extends _BaseCollection {
        /**
         * @param int $size
         * @return Plugin[][]|Collection<_IH_Plugin_C>
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Plugin_QB whereId($value)
     * @method _IH_Plugin_QB whereName($value)
     * @method _IH_Plugin_QB whereType($value)
     * @method _IH_Plugin_QB whereLogo($value)
     * @method _IH_Plugin_QB whereDescription($value)
     * @method _IH_Plugin_QB whereCredentials($value)
     * @method _IH_Plugin_QB whereFields($value)
     * @method _IH_Plugin_QB whereStatus($value)
     * @method _IH_Plugin_QB whereCreatedAt($value)
     * @method _IH_Plugin_QB whereUpdatedAt($value)
     * @method Plugin create(array $attributes = [])
     * @method Plugin createOrFirst(array $attributes = [], array $values = [])
     * @method Plugin createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_Plugin_C|Plugin[] cursor()
     * @method Plugin[] eagerLoadRelations(array $models)
     * @method Plugin|null|_IH_Plugin_C|Plugin[] find($id, array|string $columns = ['*'])
     * @method _IH_Plugin_C|Plugin[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Plugin|_IH_Plugin_C|Plugin[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Plugin|_IH_Plugin_C|Plugin[] findOrFail($id, array|string $columns = ['*'])
     * @method Plugin|_IH_Plugin_C|Plugin[] findOrNew($id, array|string $columns = ['*'])
     * @method Plugin first(array|string $columns = ['*'])
     * @method Plugin firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Plugin firstOrCreate(array $attributes = [], array $values = [])
     * @method Plugin firstOrFail(array|string $columns = ['*'])
     * @method Plugin firstOrNew(array $attributes = [], array $values = [])
     * @method Plugin firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Plugin forceCreate(array $attributes)
     * @method Plugin forceCreateQuietly(array $attributes = [])
     * @method _IH_Plugin_C|Plugin[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Plugin_C|Plugin[] get(array|string $columns = ['*'])
     * @method Plugin getModel()
     * @method Plugin[] getModels(array|string $columns = ['*'])
     * @method _IH_Plugin_C|Plugin[] hydrate(array $items)
     * @method _IH_Plugin_C|Plugin[] lazy(int $chunkSize = 1000)
     * @method _IH_Plugin_C|Plugin[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Plugin_C|Plugin[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Plugin make(array $attributes = [])
     * @method Plugin newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Plugin[]|_IH_Plugin_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Plugin restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|Plugin[]|_IH_Plugin_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Plugin sole(array|string $columns = ['*'])
     * @method Plugin updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Plugin_QB extends _BaseBuilder {}
    
    /**
     * @method Setting|null getOrPut($key, \Closure $value)
     * @method Setting|$this shift(int $count = 1)
     * @method Setting|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Setting|$this pop(int $count = 1)
     * @method Setting|null pull($key, \Closure $default = null)
     * @method Setting|null last(callable|null $callback = null, \Closure $default = null)
     * @method Setting|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Setting|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method Setting|null get($key, \Closure $default = null)
     * @method Setting|null first(callable|null $callback = null, \Closure $default = null)
     * @method Setting|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Setting|null find($key, $default = null)
     * @method Setting[] all()
     */
    class _IH_Setting_C extends _BaseCollection {
        /**
         * @param int $size
         * @return Setting[][]|Collection<_IH_Setting_C>
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Setting_QB whereId($value)
     * @method _IH_Setting_QB whereVal($value)
     * @method _IH_Setting_QB whereType($value)
     * @method _IH_Setting_QB whereCreatedAt($value)
     * @method _IH_Setting_QB whereUpdatedAt($value)
     * @method Setting create(array $attributes = [])
     * @method Setting createOrFirst(array $attributes = [], array $values = [])
     * @method Setting createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_Setting_C|Setting[] cursor()
     * @method Setting[] eagerLoadRelations(array $models)
     * @method Setting|null|_IH_Setting_C|Setting[] find($id, array|string $columns = ['*'])
     * @method _IH_Setting_C|Setting[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Setting|_IH_Setting_C|Setting[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Setting|_IH_Setting_C|Setting[] findOrFail($id, array|string $columns = ['*'])
     * @method Setting|_IH_Setting_C|Setting[] findOrNew($id, array|string $columns = ['*'])
     * @method Setting first(array|string $columns = ['*'])
     * @method Setting firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Setting firstOrCreate(array $attributes = [], array $values = [])
     * @method Setting firstOrFail(array|string $columns = ['*'])
     * @method Setting firstOrNew(array $attributes = [], array $values = [])
     * @method Setting firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Setting forceCreate(array $attributes)
     * @method Setting forceCreateQuietly(array $attributes = [])
     * @method _IH_Setting_C|Setting[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Setting_C|Setting[] get(array|string $columns = ['*'])
     * @method Setting getModel()
     * @method Setting[] getModels(array|string $columns = ['*'])
     * @method _IH_Setting_C|Setting[] hydrate(array $items)
     * @method _IH_Setting_C|Setting[] lazy(int $chunkSize = 1000)
     * @method _IH_Setting_C|Setting[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Setting_C|Setting[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Setting make(array $attributes = [])
     * @method Setting newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Setting[]|_IH_Setting_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Setting restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|Setting[]|_IH_Setting_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Setting sole(array|string $columns = ['*'])
     * @method Setting updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Setting_QB extends _BaseBuilder {}
    
    /**
     * @method Staff|null getOrPut($key, \Closure $value)
     * @method Staff|$this shift(int $count = 1)
     * @method Staff|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Staff|$this pop(int $count = 1)
     * @method Staff|null pull($key, \Closure $default = null)
     * @method Staff|null last(callable|null $callback = null, \Closure $default = null)
     * @method Staff|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Staff|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method Staff|null get($key, \Closure $default = null)
     * @method Staff|null first(callable|null $callback = null, \Closure $default = null)
     * @method Staff|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Staff|null find($key, $default = null)
     * @method Staff[] all()
     */
    class _IH_Staff_C extends _BaseCollection {
        /**
         * @param int $size
         * @return Staff[][]|Collection<_IH_Staff_C>
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Staff_QB whereId($value)
     * @method _IH_Staff_QB whereCreatedAt($value)
     * @method _IH_Staff_QB whereUpdatedAt($value)
     * @method Staff create(array $attributes = [])
     * @method Staff createOrFirst(array $attributes = [], array $values = [])
     * @method Staff createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_Staff_C|Staff[] cursor()
     * @method Staff[] eagerLoadRelations(array $models)
     * @method Staff|null|_IH_Staff_C|Staff[] find($id, array|string $columns = ['*'])
     * @method _IH_Staff_C|Staff[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Staff|_IH_Staff_C|Staff[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Staff|_IH_Staff_C|Staff[] findOrFail($id, array|string $columns = ['*'])
     * @method Staff|_IH_Staff_C|Staff[] findOrNew($id, array|string $columns = ['*'])
     * @method Staff first(array|string $columns = ['*'])
     * @method Staff firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Staff firstOrCreate(array $attributes = [], array $values = [])
     * @method Staff firstOrFail(array|string $columns = ['*'])
     * @method Staff firstOrNew(array $attributes = [], array $values = [])
     * @method Staff firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Staff forceCreate(array $attributes)
     * @method Staff forceCreateQuietly(array $attributes = [])
     * @method _IH_Staff_C|Staff[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Staff_C|Staff[] get(array|string $columns = ['*'])
     * @method Staff getModel()
     * @method Staff[] getModels(array|string $columns = ['*'])
     * @method _IH_Staff_C|Staff[] hydrate(array $items)
     * @method _IH_Staff_C|Staff[] lazy(int $chunkSize = 1000)
     * @method _IH_Staff_C|Staff[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Staff_C|Staff[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Staff make(array $attributes = [])
     * @method Staff newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Staff[]|_IH_Staff_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Staff restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|Staff[]|_IH_Staff_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Staff sole(array|string $columns = ['*'])
     * @method Staff updateOrCreate(array $attributes, array $values = [])
     */
    class _IH_Staff_QB extends _BaseBuilder {}
    
    /**
     * @method User|null getOrPut($key, \Closure $value)
     * @method User|$this shift(int $count = 1)
     * @method User|null 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|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method User|null get($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
         * @return User[][]|Collection<_IH_User_C>
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_User_QB whereId($value)
     * @method _IH_User_QB whereAvatar($value)
     * @method _IH_User_QB whereFirstName($value)
     * @method _IH_User_QB whereLastName($value)
     * @method _IH_User_QB whereUsername($value)
     * @method _IH_User_QB whereGender($value)
     * @method _IH_User_QB whereBirthday($value)
     * @method _IH_User_QB wherePhone($value)
     * @method _IH_User_QB whereCountry($value)
     * @method _IH_User_QB whereAddress($value)
     * @method _IH_User_QB whereEmail($value)
     * @method _IH_User_QB whereEmailVerifiedAt($value)
     * @method _IH_User_QB whereStatus($value)
     * @method _IH_User_QB wherePassword($value)
     * @method _IH_User_QB whereRememberToken($value)
     * @method _IH_User_QB whereCreatedAt($value)
     * @method _IH_User_QB whereUpdatedAt($value)
     * @method User create(array $attributes = [])
     * @method User createOrFirst(array $attributes = [], array $values = [])
     * @method User createOrRestore(array $attributes = [], array $values = [])
     * @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 first(array|string $columns = ['*'])
     * @method User firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method User firstOrCreate(array $attributes = [], array $values = [])
     * @method User firstOrFail(array|string $columns = ['*'])
     * @method User firstOrNew(array $attributes = [], array $values = [])
     * @method User 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 _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(array $attributes = [], array $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 {}
    
    /**
     * @method Wallet|null getOrPut($key, \Closure $value)
     * @method Wallet|$this shift(int $count = 1)
     * @method Wallet|null firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Wallet|$this pop(int $count = 1)
     * @method Wallet|null pull($key, \Closure $default = null)
     * @method Wallet|null last(callable|null $callback = null, \Closure $default = null)
     * @method Wallet|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Wallet|null sole(callable|string $key = null, $operator = null, $value = null)
     * @method Wallet|null get($key, \Closure $default = null)
     * @method Wallet|null first(callable|null $callback = null, \Closure $default = null)
     * @method Wallet|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Wallet|null find($key, $default = null)
     * @method Wallet[] all()
     */
    class _IH_Wallet_C extends _BaseCollection {
        /**
         * @param int $size
         * @return Wallet[][]|Collection<_IH_Wallet_C>
         */
        public function chunk($size)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Wallet_QB whereId($value)
     * @method _IH_Wallet_QB whereCurrencyId($value)
     * @method _IH_Wallet_QB whereUserId($value)
     * @method _IH_Wallet_QB whereWalletId($value)
     * @method _IH_Wallet_QB whereBalance($value)
     * @method _IH_Wallet_QB whereStatus($value)
     * @method _IH_Wallet_QB whereCreatedAt($value)
     * @method _IH_Wallet_QB whereUpdatedAt($value)
     * @method Wallet create(array $attributes = [])
     * @method Wallet createOrFirst(array $attributes = [], array $values = [])
     * @method Wallet createOrRestore(array $attributes = [], array $values = [])
     * @method _IH_Wallet_C|Wallet[] cursor()
     * @method Wallet[] eagerLoadRelations(array $models)
     * @method Wallet|null|_IH_Wallet_C|Wallet[] find($id, array|string $columns = ['*'])
     * @method _IH_Wallet_C|Wallet[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Wallet|_IH_Wallet_C|Wallet[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Wallet|_IH_Wallet_C|Wallet[] findOrFail($id, array|string $columns = ['*'])
     * @method Wallet|_IH_Wallet_C|Wallet[] findOrNew($id, array|string $columns = ['*'])
     * @method Wallet first(array|string $columns = ['*'])
     * @method Wallet firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Wallet firstOrCreate(array $attributes = [], array $values = [])
     * @method Wallet firstOrFail(array|string $columns = ['*'])
     * @method Wallet firstOrNew(array $attributes = [], array $values = [])
     * @method Wallet firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Wallet forceCreate(array $attributes)
     * @method Wallet forceCreateQuietly(array $attributes = [])
     * @method _IH_Wallet_C|Wallet[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Wallet_C|Wallet[] get(array|string $columns = ['*'])
     * @method Wallet getModel()
     * @method Wallet[] getModels(array|string $columns = ['*'])
     * @method _IH_Wallet_C|Wallet[] hydrate(array $items)
     * @method _IH_Wallet_C|Wallet[] lazy(int $chunkSize = 1000)
     * @method _IH_Wallet_C|Wallet[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Wallet_C|Wallet[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Wallet make(array $attributes = [])
     * @method Wallet newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Wallet[]|_IH_Wallet_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Wallet restoreOrCreate(array $attributes = [], array $values = [])
     * @method Paginator|Wallet[]|_IH_Wallet_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Wallet sole(array|string $columns = ['*'])
     * @method Wallet updateOrCreate(array $attributes, array $values = [])
     * @method _IH_Wallet_QB active()
     */
    class _IH_Wallet_QB extends _BaseBuilder {}
}