import { HexString } from "./types.cjs";

//#region src/string.d.ts
declare const toUpperCase: <const T extends string>(str: T) => Uppercase<T>;
declare const toLowerCase: <const T extends string>(str: T) => Lowercase<T>;
declare const isInteger: (string: string) => boolean;
type Split<T extends string, D extends string> = T extends `${infer L}${D}${infer R}` ? [L, ...Split<R, D>] : [T];
declare const split: <const T extends string, D extends string>(str: T, delimiter: D) => Split<T, D>;
declare const capitalize: <const T extends string>(str: T) => Capitalize<T>;
declare const uncapitalize: <const T extends string>(str: T) => Uncapitalize<T>;
declare const isHex: (str: string) => str is HexString;
declare const isBytes: (str: string) => boolean;
declare const abbreviate: (text: string | undefined | null, showLength?: number, space?: boolean) => string;
declare const truncateString: (string: string, numCharacters?: number, ellipsis?: boolean) => string;
//#endregion
export { abbreviate, capitalize, isBytes, isHex, isInteger, split, toLowerCase, toUpperCase, truncateString, uncapitalize };