<?php

namespace Modules\Reception\Outil;

abstract class DatatableFilter
{
    /** @var string $id */
    private $id;

    /** @var array<mixed> $fieldList */
    private $fieldList;

    /**
     * @param string $id
     * @param array<mixed> $fieldList
     */
    public function __construct(string $id, array $fieldList)
    {
        $this->id = $id;
        $this->fieldList = $fieldList;
    }

    public function getId(): string
    {
        return $this->id;
    }

    /**
     * @return array<mixed>
     */
    public function getFieldList()
    {
        return $this->fieldList;
    }

    /**
     * @return mixed
     */
    abstract public function toSql();
}
