feat: implement const type parameters to eliminate `as const` requirement
This change leverages TypeScript 5.0's const type parameters feature to automatically
capture literal types without requiring users to write `as const` annotations.
Changes:
- Added const type parameters to all factory functions
- Implemented function overloads for precise return type narrowing
- Created CSVOutputFormat type alias for better code organization
- Unified import statements (removed import("").XXX patterns)
- Updated all documentation and JSDoc examples to remove `as const`
Users can now write:
header: ['name', 'age']
instead of:
header: ['name', 'age'] as const
Maintains 100% backward compatibility.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>