<?php

declare(strict_types=1);

namespace Plugin\tnt_stabila_shop\src\Interfaces;

interface ModelInterface
{
    public static function getTable(): string;

    /**
     * @return array<string, string>
     */
    public static function getSchema(): array;

    public static function getPrimaryKey(): string;

    public static function getTotalEntriesQuery(): string;

    public static function transformData(object $data): object;

    /**
     * @return list<string>
     */
    public static function getSearchableFields(): array;
}
