* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ declare(strict_types=1); namespace League\Csv; use Stringable; /** * A class to insert records into a CSV Document. */ interface TabularDataWriter { /** * Adds multiple records to the CSV document. * * @see TabularDataWriter::insertOne * * @param iterable> $records * * @throws CannotInsertRecord If the record can not be inserted * @throws Exception If the record can not be inserted */ public function insertAll(iterable $records): int; /** * Adds a single record to a CSV document. * * A record is an array that can contain scalar type values, NULL values * or objects implementing the __toString method. * * @param array $record * * @throws CannotInsertRecord If the record can not be inserted * @throws Exception If the record can not be inserted */ public function insertOne(array $record): int; }