import { Join, Words } from 'type-fest'; type SnakeCase = string extends S ? string : Lowercase, "_">>; /** * Convert a text to snake-case by splitting it into words and joining them back * together with "_", and then lowering the case of the result. * * For other case manipulations see: `toLowerCase`, `toUpperCase`, `capitalize`, * `uncapitalize`, `toCamelCase`, and `toKebabCase`. * * !IMPORTANT: This function might work _incorrectly_ for **non-ascii** inputs. * * @param data - A string. * @signature * R.toSnakeCase(data); * @example * R.toSnakeCase("hello world"); // "hello_world" * R.toSnakeCase("__HELLO_WORLD__"); // "hello_world" * @dataFirst * @category String */ declare function toSnakeCase(data: S): SnakeCase; /** * Convert a text to snake-case by splitting it into words and joining them back * together with "_", and then lowering the case of the result. * * For other case manipulations see: `toLowerCase`, `toUpperCase`, `capitalize`, * `uncapitalize`, `toCamelCase`, and `toKebabCase`. * * !IMPORTANT: This function might work _incorrectly_ for **non-ascii** inputs. * * @signature * R.toSnakeCase()(data); * @example * R.pipe("hello world", R.toSnakeCase()); // "hello_world" * R.pipe("__HELLO_WORLD__", toSnakeCase()); // "hello_world" * @dataLast * @category String */ declare function toSnakeCase(): (data: S) => SnakeCase; export { toSnakeCase };