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

namespace LaravelIdea\Helper\Sereny\NovaPermissions\Models {

    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 Sereny\NovaPermissions\Models\Role;
    use Spatie\Permission\Contracts\Permission;
    
    /**
     * @method Role getOrPut($key, \Closure $value)
     * @method Role|$this shift(int $count = 1)
     * @method Role firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method Role|$this pop(int $count = 1)
     * @method Role|null pull(int|string $key, \Closure $default = null)
     * @method Role|null last(callable|null $callback = null, \Closure $default = null)
     * @method Role|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method Role sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method Role|null get(int|null|string $key, \Closure $default = null)
     * @method Role|null first(callable|null $callback = null, \Closure $default = null)
     * @method Role|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method Role|null find($key, $default = null)
     * @method Role[] all()
     */
    class _IH_Role_C extends _BaseCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return Role[][]|Collection<_IH_Role_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }
    
    /**
     * @method _IH_Role_QB whereId($value)
     * @method _IH_Role_QB whereName($value)
     * @method _IH_Role_QB whereGuardName($value)
     * @method _IH_Role_QB whereCreatedAt($value)
     * @method _IH_Role_QB whereUpdatedAt($value)
     * @method Role create(array $attributes = [])
     * @method Role createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method Role createOrRestore($attributes = [], $values = [])
     * @method Role createQuietly(array $attributes = [])
     * @method _IH_Role_C|Role[] cursor()
     * @method Role[] eagerLoadRelations(array $models)
     * @method Role|null|_IH_Role_C|Role[] find($id, array|string $columns = ['*'])
     * @method _IH_Role_C|Role[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method Role|_IH_Role_C|Role[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Role|_IH_Role_C|Role[] findOrFail($id, array|string $columns = ['*'])
     * @method Role|_IH_Role_C|Role[] findOrNew($id, array|string $columns = ['*'])
     * @method Role findSole($id, array|string $columns = ['*'])
     * @method Role|null first(array|string $columns = ['*'])
     * @method Role firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method Role firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method Role firstOrFail(array|string $columns = ['*'])
     * @method Role firstOrNew(array $attributes = [], array $values = [])
     * @method Role|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method Role forceCreate(array $attributes)
     * @method Role forceCreateQuietly(array $attributes = [])
     * @method _IH_Role_C|Role[] fromQuery(string $query, array $bindings = [])
     * @method _IH_Role_C|Role[] get(array|string $columns = ['*'])
     * @method Role getModel()
     * @method Role[] getModels(array|string $columns = ['*'])
     * @method _IH_Role_C|Role[] hydrate(array $items)
     * @method Role incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_Role_C|Role[] lazy(int $chunkSize = 1000)
     * @method _IH_Role_C|Role[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_Role_C|Role[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method Role make(array $attributes = [])
     * @method Role newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|Role[]|_IH_Role_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method Role restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|Role[]|_IH_Role_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method Role sole(array|string $columns = ['*'])
     * @method Role updateOrCreate(array $attributes, array $values = [])
     * @method _IH_Role_QB permission(array|BackedEnum|Collection|int|Permission|string $permissions, bool $without = false)
     * @method _IH_Role_QB withoutPermission(array|BackedEnum|Collection|int|Permission|string $permissions)
     */
    class _IH_Role_QB extends _BaseBuilder {}
}