function returnable(stopped)
			{
				if (config.header && !baseIndex && data.length && !headerParsed)
				{
					const result = data[0];
					const headerCount = Object.create(null); // To track the count of each base header
					const usedHeaders = new Set(result); // To track used headers and avoid duplicates
					let duplicateHeaders = false;

					for (let i = 0; i < result.length; i++) {
						let header = stripBom(result[i]);
						if (isFunction(config.transformHeader))
							header = config.transformHeader(header, i);

						if (!headerCount[header]) {
							headerCount[header] = 1;
							result[i] = header;
						} else {
							let newHeader;
							let suffixCount = headerCount[header];

							// Find a unique new header
							do {
								newHeader = `${header}_${suffixCount}`;
								suffixCount++;
							} while (usedHeaders.has(newHeader));

							usedHeaders.add(newHeader); // Mark this new Header as used
							result[i] = newHeader;
							headerCount[header]++;
							duplicateHeaders = true;
							if (renamedHeaders === null) {
								renamedHeaders = {};
							}
							renamedHeaders[newHeader] = header;
						}

						usedHeaders.add(header); // Ensure the original header is marked as used
					}
					if (duplicateHeaders) {
						console.warn('Duplicate headers found and renamed.');
					}
					headerParsed = true;
				}
				return {
					data: data,
					errors: errors,
					meta: {
						delimiter: delim,
						linebreak: newline,
						aborted: aborted,
						truncated: !!stopped,
						cursor: lastCursor + (baseIndex || 0),
						renamedHeaders: renamedHeaders
					}
				};
			}
Returns an object with the results, errors, and meta.