<?php

namespace Ignite\Core\Contracts;

// TODO: Rename to Grid
use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
use Illuminate\Database\Query\Builder as QueryBuilder;
use Illuminate\Support\Collection;

interface Table
{
    /**
     * The columns to show.
     *
     * @return array
     */
    public function columns(): array;

    /**
     * The table query.
     *
     * @return EloquentBuilder|QueryBuilder|Collection
     */
    public function query(): EloquentBuilder|Collection|QueryBuilder;
}
