> */ public function read( int $offset, int $limit ): iterable; /** * Optional: summary of rows the source declined to map. * * Returned as a flat array of human-readable reason strings, one * per skipped row encountered so far. The Importer concatenates * this with its own per-row errors in the final summary so the * user sees both "could not write row 12 (invalid regex)" and * "skipped 3 rows: conditional cookie match not supported". * * Implementations are free to return an empty array — the default * Importer fallback is a no-op count. * * @since 4.0.3 * * @return array */ public function skipSummary(): array; }