package {{ package }};

{# Fixed imports in the template #}
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

{{ imports }}

import java.util.Optional;

public interface {{ class_type }} {
    Optional<{{ model_type }}> findById({{ id_type }} id);

    Page<{{ model_type }}> findAll(Pageable pageable);

    {{ model_type }} create({{ create_command_type }} createCommand);

    {{ model_type }} update({{ id_type }} id, {{ update_command_type }} updateCommand);

    void delete({{ id_type }} id);
}
