<?php

declare(strict_types=1);

namespace Plugin\tnt_stabila_shop\src\Interfaces;

interface PaginatedDataInterface
{
    public function init(): void;

    /**
     * Initializes the pagination data.
     * @return object{offset: int, active: bool}[]
     */
    public function getPages(): array;

    public function getPageSize(): int;

    public function getPreviousPage(): int;

    public function getCurrentPage(): int;

    public function getNextPage(): int;

    /**
     * Returns the data for the current page.
     *
     * @return list<object> The data for the current page.
     */
    public function getData(string $search = ''): array;
}
