extension on String
  Methods:

    - Null/Whitespace Handling (Return: String or String?):
        - nullIfEmpty: Returns null if empty, otherwise original.
        - nullIfBlank: Returns null if null, empty, or whitespace. Otherwise original.
        - removeEmptyLines: Replaces consecutive empty/whitespace lines with single newline.
        - toOneLine: Removes all newlines.
        - removeWhiteSpaces: Removes all spaces.
        - clean: Removes whitespace, single line.
    - asRomanNumeralToInt: (Return: int) Converts Roman numeral to integer. Dependencies: NumbersHelper.
    - Base64 (Return: String):
        - base64Encode: Encodes.
        - base64Decode: (Parameters: allowMalformed: bool? (optional)) Decodes. Error Handling: Throws on malformed input if allowMalformed is false.
    - compareWith: (Return: double, Parameters: other: String, algorithm: SimilarityAlgorithm, config: StringSimilarityConfig = const StringSimilarityConfig()) Measures string similarity. Dependencies: StringSimilarity.

extension on String?
  Methods:
    - Text Manipulation (Return: String or String?):
        - toOneLine: Removes newlines.
        - removeWhiteSpaces: Removes spaces.
        - clean: Removes whitespace, single line.
        - insert: (Parameters: index: int, str: String) Inserts string at index.
        - replaceAfter: (Parameters: delimiter: String, replacement: String, defaultValue: String? (optional)) Replaces after delimiter.
        - replaceBefore: (Parameters: delimiter: String, replacement: String, defaultValue: String? (optional)) Replaces before delimiter.
        - removeSurrounding: (Parameters: delimiter: String) Removes surrounding delimiters.
        - limitFromEnd / limitFromStart: (Parameters: maxSize: int) Limits string length.
    - Boolean Checks (Return: bool):
        - isEmptyOrNull / isBlank: True if null, empty, or whitespace after cleaning.
        - isNotEmptyOrNull / isNotBlank: Opposite of isEmptyOrNull.
        - isPalindrome: Checks palindrome (ignores case, non-alphanumeric).
        - isBool: True if "true" or "false".
        - isNullOrWhiteSpace: True if null, empty, or only whitespace.
        - equalsIgnoreCase: (Parameters: other: String?) Case-insensitive comparison.
        - anyChar: (Parameters: predicate: bool Function(String element)) True if any char matches predicate.
    - Pattern Matching (Return: bool):
        - isAlphanumeric, hasSpecialChars, hasNoSpecialChars, startsWithNumber, containsDigits, isValidUsername, isValidCurrency, isValidPhoneNumber (9-16 digits), isValidEmail, isValidHTML, isValidIp4, isValidIp6, isValidUrl, isNumeric, isAlphabet, hasCapitalLetter
        - hasMatch: (Parameters: pattern: String, multiLine: bool = false, caseSensitive: bool = true, unicode: bool = false, dotAll: bool = false) Generic regex match.
    - toCharArray: (Return: List<String>) String to character list.
    - wrapString: (Return: String, Parameters: wordCount: int = 1, wrapEach: bool = false, delimiter: String = '\n') Wraps string by word count.
    - orEmpty: (Return: String) Returns "" if null, else original.
    - ifEmpty: (Return: Future<T>?, Parameters: action: Future<T> Function()) Executes action if empty.
    - lastIndex: (Return: String) Returns the last character.
    - Parsing (Return: Type or Type?, where 'Type' is the parsed type):
        - Numeric (Nullable): tryToNum, tryToDouble, tryToInt
        - Numeric (Throws on Error): toNum, toDouble, toInt
        - JSON: decode / tryDecode: ((Parameters: reviver: Object? Function(Object? key, Object? value)? (optional)) (Try) Decodes JSON. 'tryDecode' returns null on error.
        - Boolean: asBool: Converts to boolean ("true", "yes", "1", number > 0 = true, else false).
    - asRomanNumeralToInt: (Return: int?) Converts a Roman numeral string to integer, null if input is null. Dependencies: NumbersHelper.
