> */ public function getChunksFilteredPaginated( string $category = '', string $status = '', string $search = '', int $limit = 50, int $offset = 0 ): array; /** * Get recent chunks. * * @return array> */ public function getRecentChunks(int $limit = 5): array; /** * Get chunk by ID with decoded JSON fields. * * @return array|null */ public function getChunk(int $id): ?array; /** * Get chunks for a document (simple). * * @return array> */ public function getChunksForDokument(int $dokumentId): array; /** * Get detailed chunks for a document (all fields). * * @return array> */ public function getChunksDetailedForDokument(int $dokumentId): array; /** * Get chunk by document ID and index. * * @return array|null */ public function getChunkByDokumentAndIndex(int $dokumentId, int $index): ?array; /** * Get distinct taxonomy categories. * * @return array */ public function getDistinctCategories(): array; /** * Get top taxonomy categories with counts. * * @return array */ public function getTopTaxonomyCategories(int $limit = 10): array; /** * Get categories with chunk and token counts. * * @return array */ public function getCategoriesWithStats(): array; /** * Get top keywords aggregated from chunks. * * @return array */ public function getTopKeywords(int $limit = 30): array; /** * Get top entities as raw key=>count format. * * @return array */ public function getTopEntitiesRaw(int $limit = 30): array; /** * Get entities grouped by type. * * @return array{entities: array, by_type: array, total: int} */ public function getEntitiesGrouped(int $limit = 100): array; }