declare var v: v.VocaStatic; export = v; export as namespace v; declare namespace v { type CountPredicate = (character: string, index: number, str: string) => boolean; type ReplacementFunction = (match?: string, ...groups: string[]) => string; interface WordWrapOptions { width?: number | undefined; newLine?: string | undefined; indent?: string | undefined; cut?: boolean | undefined; } interface VocaStatic { // Case camelCase(subject?: string): string; capitalize(subject?: string, restToLower?: boolean): string; decapitalize(subject?: string): string; kebabCase(subject?: string): string; lowerCase(subject?: string): string; snakeCase(subject?: string): string; swapCase(subject?: string): string; titleCase(subject?: string, ignoreWords?: string[]): string; upperCase(subject?: string): string; // Chain (subject: any): Chain; chain(subject: T): ExplicitChain; // Chop charAt(subject?: string, position?: number): string; codePointAt(subject?: string, position?: number): string; first(subject?: string, length?: number): string; graphemeAt(subject?: string, position?: number): string; last(subject?: string, length?: number): string; prune(subject?: string, length?: number, end?: string): string; slice(subject?: string, start?: number, end?: number): string; substr(subject?: string, start?: number, length?: number): string; substring(subject?: string, start?: number, end?: number): string; truncate(subject?: string, length?: number, end?: string): string; // Count count(subject?: string): number; countGraphemes(subject?: string): number; countSubstrings(subject?: string, substring?: string): number; countWhere(subject?: string, predicate?: CountPredicate, context?: any): number; countWords(subject?: string, pattern?: string | RegExp, flags?: string): number; // Escape escapeHtml(subject?: string): string; escapeRegExp(subject?: string): string; unescapeHtml(subject?: string): string; // Format sprintf(format?: string, ...replacements: any[]): string; vprintf(format?: string, ...replacements: any[]): string; // Index indexOf(subject?: string, search?: string, fromIndex?: number): number; lastIndexOf(subject?: string, search?: string, fromIndex?: number): number; search(subject?: string, pattern?: string | RegExp, fromIndex?: number): number; // Manipulate insert(subject?: string, toInsert?: string, position?: number): string; latinise(subject?: string): string; pad(subject?: string, length?: number, pad?: string): string; padLeft(subject?: string, length?: number, pad?: string): string; padRight(subject?: string, length?: number, pad?: string): string; repeat(subject?: string, times?: number): string; replace(subject?: string, pattern?: string | RegExp, replacement?: string | ReplacementFunction): string; replaceAll(subject?: string, pattern?: string | RegExp, replacement?: string | ReplacementFunction): string; reverse(subject?: string): string; reverseGrapheme(subject?: string): string; slugify(subject?: string): string; splice(subject?: string, start?: number, deleteCount?: number, toAdd?: string): string; tr(subject?: string, from?: string, to?: string): string; tr(subject?: string, from?: { [key: string]: string }): string; trim(subject?: string, whitespace?: string): string; trimLeft(subject?: string, whitespace?: string): string; trimRight(subject?: string, whitespace?: string): string; wordWrap(subject?: string, options?: WordWrapOptions): string; // Query endsWith(subject?: string, end?: string, position?: number): boolean; includes(subject?: string, search?: string, position?: number): boolean; isAlpha(subject?: string): boolean; isAlphaDigit(subject?: string): boolean; isBlank(subject?: string): boolean; isDigit(subject?: string): boolean; isEmpty(subject?: string): boolean; isLowerCase(subject?: string): boolean; isNumeric(subject?: string): boolean; isString(subject?: any): boolean; isUpperCase(subject?: string): boolean; matches(subject?: string, pattern?: string | RegExp, flags?: string): boolean; startsWith(subject?: string, start?: string, position?: number): boolean; // Split chars(subject?: string): string[]; codePoints(subject?: string): number[]; graphemes(subject?: string): string[]; split(subject?: string, separator?: string | RegExp, limit?: number): string[]; words(subject?: string, pattern?: string | RegExp, flag?: string): string[]; // Strip stripBom(subject?: string): string; stripTags(subject?: string, allowbleTags?: string | string[], replacement?: string): string; // Util noConflict(): VocaStatic; version: string; } interface Chain { // Case camelCase(): Chain; capitalize(restToLoweropt?: boolean): Chain; decapitalize(): Chain; kebabCase(): Chain; lowerCase(): Chain; snakeCase(): Chain; swapCase(): Chain; titleCase(ignoreWordsopt?: string[]): Chain; upperCase(): Chain; // Chain value(): string; chain(): ExplicitChain; // Chop charAt(position?: number): Chain; codePointAt(position?: number): Chain; first(length?: number): Chain; graphemeAt(position?: number): Chain; last(length?: number): Chain; prune(length?: number, end?: string): Chain; slice(start?: number, end?: number): Chain; substr(start?: number, length?: number): Chain; substring(start?: number, end?: number): Chain; truncate(length?: number, end?: string): Chain; // Count count(): number; countGraphemes(): number; countSubstrings(substring?: string): number; countWhere(predicate?: CountPredicate, context?: any): number; countWords(pattern?: string | RegExp, flags?: string): number; // Escape escapeHtml(): Chain; escapeRegExp(): Chain; unescapeHtml(): Chain; // Format sprintf(...replacements: any[]): Chain; vprintf(...replacements: any[]): Chain; // Index indexOf(search?: string, fromIndex?: number): number; lastIndexOf(search?: string, fromIndex?: number): number; search(pattern?: string | RegExp, fromIndex?: number): number; // Multipulate insert(toInsert?: string, position?: number): Chain; latinise(): Chain; pad(length?: number, pad?: string): Chain; padLeft(length?: number, pad?: string): Chain; padRight(length?: number, pad?: string): Chain; repeat(times?: number): Chain; replace(pattern?: string | RegExp, replacement?: string | ReplacementFunction): Chain; replaceAll(pattern?: string | RegExp, replacement?: string | ReplacementFunction): Chain; reverse(): Chain; reverseGrapheme(): Chain; slugify(): Chain; splice(start?: number, deleteCount?: number, toAdd?: string): Chain; tr(from?: string, to?: string): Chain; tr(from?: { [key: string]: string }): Chain; trim(whitespace?: string): Chain; trimLeft(whitespace?: string): Chain; trimRight(whitespace?: string): Chain; wordWrap(options?: WordWrapOptions): Chain; // Query endsWith(end?: string, position?: number): boolean; includes(search?: string, position?: number): boolean; isAlpha(): boolean; isAlphaDigit(): boolean; isBlank(): boolean; isDigit(): boolean; isEmpty(): boolean; isLowerCase(): boolean; isNumeric(): boolean; isString(): boolean; isUpperCase(): boolean; matches(pattern?: string | RegExp, flags?: string): boolean; startsWith(start?: string, position?: number): boolean; // Split chars(): string[]; codePoints(): number[]; graphemes(): string[]; split(separator?: string | RegExp, limit?: number): string[]; words(pattern?: string | RegExp, flag?: string): string[]; // Strip stripBom(): Chain; stripTags(allowbleTags?: string | string[], replacement?: string): Chain; } interface ExplicitChain { // Case camelCase(): ExplicitChain; capitalize(restToLoweropt?: boolean): ExplicitChain; decapitalize(): ExplicitChain; kebabCase(): ExplicitChain; lowerCase(): ExplicitChain; snakeCase(): ExplicitChain; swapCase(): ExplicitChain; titleCase(ignoreWordsopt?: string[]): ExplicitChain; upperCase(): ExplicitChain; // Chain value(): T; thru(changer: (subjects: T) => U): ExplicitChain; // Chop charAt(position?: number): ExplicitChain; codePointAt(position?: number): ExplicitChain; first(length?: number): ExplicitChain; graphemeAt(position?: number): ExplicitChain; last(length?: number): ExplicitChain; prune(length?: number, end?: string): ExplicitChain; slice(start?: number, end?: number): ExplicitChain; substr(start?: number, length?: number): ExplicitChain; substring(start?: number, end?: number): ExplicitChain; truncate(length?: number, end?: string): ExplicitChain; // Count count(): ExplicitChain; countGraphemes(): ExplicitChain; countSubstrings(substring?: string): ExplicitChain; countWhere(predicate?: CountPredicate, context?: any): ExplicitChain; countWords(pattern?: string | RegExp, flags?: string): ExplicitChain; // Escape escapeHtml(): ExplicitChain; escapeRegExp(): ExplicitChain; unescapeHtml(): ExplicitChain; // Format sprintf(...replacements: any[]): ExplicitChain; vprintf(...replacements: any[]): ExplicitChain; // Index indexOf(search?: string, fromIndex?: number): ExplicitChain; lastIndexOf(search?: string, fromIndex?: number): ExplicitChain; search(pattern?: string | RegExp, fromIndex?: number): ExplicitChain; // Multipulate insert(toInsert?: string, position?: number): ExplicitChain; latinise(): ExplicitChain; pad(length?: number, pad?: string): ExplicitChain; padLeft(length?: number, pad?: string): ExplicitChain; padRight(length?: number, pad?: string): ExplicitChain; repeat(times?: number): ExplicitChain; replace(pattern?: string | RegExp, replacement?: string | ReplacementFunction): ExplicitChain; replaceAll(pattern?: string | RegExp, replacement?: string | ReplacementFunction): ExplicitChain; reverse(): ExplicitChain; reverseGrapheme(): ExplicitChain; slugify(): ExplicitChain; splice(start?: number, deleteCount?: number, toAdd?: string): ExplicitChain; tr(from?: string, to?: string): ExplicitChain; tr(from?: { [key: string]: string }): ExplicitChain; trim(whitespace?: string): ExplicitChain; trimLeft(whitespace?: string): ExplicitChain; trimRight(whitespace?: string): ExplicitChain; wordWrap(options?: WordWrapOptions): ExplicitChain; // Query endsWith(end?: string, position?: number): ExplicitChain; includes(search?: string, position?: number): ExplicitChain; isAlpha(): ExplicitChain; isAlphaDigit(): ExplicitChain; isBlank(): ExplicitChain; isDigit(): ExplicitChain; isEmpty(): ExplicitChain; isLowerCase(): ExplicitChain; isNumeric(): ExplicitChain; isString(): ExplicitChain; isUpperCase(): ExplicitChain; matches(pattern?: string | RegExp, flags?: string): ExplicitChain; startsWith(start?: string, position?: number): ExplicitChain; // Split chars(): ExplicitChain; codePoints(): ExplicitChain; graphemes(): ExplicitChain; split(separator?: string | RegExp, limit?: number): ExplicitChain; words(pattern?: string | RegExp, flag?: string): ExplicitChain; // Strip stripBom(): ExplicitChain; stripTags(allowbleTags?: string | string[], replacement?: string): ExplicitChain; } }