<?php

// +-------------------------------------------------+
// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
// +-------------------------------------------------+
// $Id: Chunker.php,v 1.1.2.5.2.1 2026/02/06 09:34:16 qvarin Exp $

namespace Pmb\AI\Library\Chunker;

if (stristr($_SERVER['REQUEST_URI'], '/'.basename(__FILE__))) {
    die("no access");
}

interface Chunker
{
    /**
     * Chunk
     *
     * @param string $text
     * @param int $maxWords Nombre maximum de mots par chunk
     * @param int $overlapWords Nombre de mots d'overlap entre les chunks
     * @return array<int, array{offset: int, length: int, data: string}>
     */
    public function chunk(string $text, int $maxWords = 500, int $overlapWords = 50): array;
}
