<?php //5dcd8066b68ddeb3d11662a529e36685
/** @noinspection all */

namespace LaravelIdea\Helper\Spatie\MediaLibrary\Tests\TestSupport {

    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 Spatie\MediaLibrary\MediaCollections\Models\Collections\MediaCollection;
    use Spatie\MediaLibrary\Tests\TestSupport\TestMediaModel;

    /**
     * @method TestMediaModel getOrPut($key, \Closure $value)
     * @method TestMediaModel|$this shift(int $count = 1)
     * @method TestMediaModel firstOrFail(callable|string $key = null, $operator = null, $value = null)
     * @method TestMediaModel|$this pop(int $count = 1)
     * @method TestMediaModel|null pull($key, \Closure $default = null)
     * @method TestMediaModel|null last(callable|null $callback = null, \Closure $default = null)
     * @method TestMediaModel|$this random(callable|int|null $number = null, bool $preserveKeys = false)
     * @method TestMediaModel sole(callable|null|string $key = null, $operator = null, $value = null)
     * @method TestMediaModel|null get(null $key, \Closure $default = null)
     * @method TestMediaModel|null first(callable|null $callback = null, \Closure $default = null)
     * @method TestMediaModel|null firstWhere(callable|string $key, $operator = null, $value = null)
     * @method TestMediaModel|null find($key, $default = null)
     * @method TestMediaModel[] all()
     */
    class _IH_TestMediaModel_C extends MediaCollection {
        /**
         * @param int $size
         * @param bool $preserveKeys
         * @return TestMediaModel[][]|Collection<_IH_TestMediaModel_C>
         */
        public function chunk($size, $preserveKeys = true)
        {
            return [];
        }
    }

    /**
     * @method _IH_TestMediaModel_QB whereId($value)
     * @method _IH_TestMediaModel_QB whereModelId($value)
     * @method _IH_TestMediaModel_QB whereModelType($value)
     * @method _IH_TestMediaModel_QB whereUuid($value)
     * @method _IH_TestMediaModel_QB whereCollectionName($value)
     * @method _IH_TestMediaModel_QB whereName($value)
     * @method _IH_TestMediaModel_QB whereFileName($value)
     * @method _IH_TestMediaModel_QB whereMimeType($value)
     * @method _IH_TestMediaModel_QB whereDisk($value)
     * @method _IH_TestMediaModel_QB whereConversionsDisk($value)
     * @method _IH_TestMediaModel_QB whereSize($value)
     * @method _IH_TestMediaModel_QB whereManipulations($value)
     * @method _IH_TestMediaModel_QB whereCustomProperties($value)
     * @method _IH_TestMediaModel_QB whereGeneratedConversions($value)
     * @method _IH_TestMediaModel_QB whereResponsiveImages($value)
     * @method _IH_TestMediaModel_QB whereOrderColumn($value)
     * @method _IH_TestMediaModel_QB whereCreatedAt($value)
     * @method _IH_TestMediaModel_QB whereUpdatedAt($value)
     * @method _IH_TestMediaModel_QB whereIsCover($value)
     * @method TestMediaModel create(array $attributes = [])
     * @method TestMediaModel createOrFirst(array $attributes = [], array|\Closure $values = [])
     * @method TestMediaModel createOrRestore($attributes = [], $values = [])
     * @method TestMediaModel createQuietly(array $attributes = [])
     * @method _IH_TestMediaModel_C|TestMediaModel[] cursor()
     * @method TestMediaModel[] eagerLoadRelations(array $models)
     * @method TestMediaModel|null|_IH_TestMediaModel_C|TestMediaModel[] find($id, array|string $columns = ['*'])
     * @method _IH_TestMediaModel_C|TestMediaModel[] findMany(array|Arrayable $ids, array|string $columns = ['*'])
     * @method TestMediaModel|_IH_TestMediaModel_C|TestMediaModel[] findOr($id, \Closure|string|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method TestMediaModel|_IH_TestMediaModel_C|TestMediaModel[] findOrFail($id, array|string $columns = ['*'])
     * @method TestMediaModel|_IH_TestMediaModel_C|TestMediaModel[] findOrNew($id, array|string $columns = ['*'])
     * @method TestMediaModel findSole($id, array|string $columns = ['*'])
     * @method TestMediaModel|null first(array|string $columns = ['*'])
     * @method TestMediaModel firstOr(\Closure|string[] $columns = ['*'], \Closure|null $callback = null)
     * @method TestMediaModel firstOrCreate(array $attributes = [], array|\Closure $values = [])
     * @method TestMediaModel firstOrFail(array|string $columns = ['*'])
     * @method TestMediaModel firstOrNew(array $attributes = [], array $values = [])
     * @method TestMediaModel|null firstWhere(array|\Closure|Expression|string $column, $operator = null, $value = null, string $boolean = 'and')
     * @method TestMediaModel forceCreate(array $attributes)
     * @method TestMediaModel forceCreateQuietly(array $attributes = [])
     * @method _IH_TestMediaModel_C|TestMediaModel[] fromQuery(string $query, array $bindings = [])
     * @method _IH_TestMediaModel_C|TestMediaModel[] get(array|string $columns = ['*'])
     * @method TestMediaModel getModel()
     * @method TestMediaModel[] getModels(array|string $columns = ['*'])
     * @method _IH_TestMediaModel_C|TestMediaModel[] hydrate(array $items)
     * @method TestMediaModel incrementOrCreate(array $attributes, string $column = 'count', float|int $default = 1, float|int $step = 1, array $extra = [])
     * @method _IH_TestMediaModel_C|TestMediaModel[] lazy(int $chunkSize = 1000)
     * @method _IH_TestMediaModel_C|TestMediaModel[] lazyById(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method _IH_TestMediaModel_C|TestMediaModel[] lazyByIdDesc(int $chunkSize = 1000, null|string $column = null, null|string $alias = null)
     * @method TestMediaModel make(array $attributes = [])
     * @method TestMediaModel newModelInstance(array $attributes = [])
     * @method LengthAwarePaginator|TestMediaModel[]|_IH_TestMediaModel_C paginate(\Closure|int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null, \Closure|int|null $total = null)
     * @method TestMediaModel restoreOrCreate($attributes = [], $values = [])
     * @method Paginator|TestMediaModel[]|_IH_TestMediaModel_C simplePaginate(int|null $perPage = null, array|string $columns = ['*'], string $pageName = 'page', int|null $page = null)
     * @method TestMediaModel sole(array|string $columns = ['*'])
     * @method TestMediaModel updateOrCreate(array $attributes, array $values = [])
     * @method _IH_TestMediaModel_QB ordered()
     */
    class _IH_TestMediaModel_QB extends _BaseBuilder {}
}
