/*
 * Copyright (C) 2007-2022 Crafter Software Corporation. All Rights Reserved.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3 as published by
 * the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

import Person from '../models/Person';
/**
 * Converts a string separated by dashes into a
 * camelCase equivalent. For instance, 'foo-bar'
 * would be converted to 'fooBar'.
 **/
export declare function camelize(str: string): string;
/**
 * Capitalizes the first letter of a string and down-cases all the others.
 **/
export declare function capitalize(str: string): string;
/**
 * Converts a camelized string into a series of words separated by an underscore (_).
 **/
export declare function underscore(str: string): string;
/**
 * Replaces every instance of the underscore character "_" by a dash "-".
 **/
export declare function dasherize(str: string): string;
export declare function removeSpaces(str: string): string;
export declare function removeLastPiece(str: string, splitChar?: string): string;
export declare function popPiece(str: string, splitChar?: string): string;
export declare function isJSON(str: string): boolean;
export declare function hasUppercaseChars(str: string): boolean;
export declare function getInitials(str: string): string;
export declare function getInitials(person: Person): string;
export declare function formatBytes(bytes: number, decimals?: number): string;
export declare function isBlank(str: string): boolean;
export declare function dataUriToBlob(dataURI: string): Blob;
export declare function fileNameFromPath(path: string): string;
export declare function escapeHTML(str: string): string;
export declare function unescapeHTML(html: string): string;
export declare function legacyEscapeXml(value: string): string;
export declare function legacyUnescapeXml(value: string): string;
export declare function bytesToSize(bytes: number, separator?: string): string;
/**
 * Removes double slashes from urls
 * @param url {string} The URL to clean up
 */
export declare function ensureSingleSlash(url: string): string;
export declare function getSimplifiedVersion(
  version: string,
  options?: {
    minor?: boolean;
    patch?: boolean;
  }
): string;
export declare function preFill(str: string | number, minLength?: number, char?: string): string;
export declare function postFill(str: string | number, minLength?: number, char?: string): string;
export declare const isSimple: (str: string | number, separator?: string) => boolean;
export declare const isSymmetricCombination: (
  string1: string | number,
  string2: string | number,
  separator?: string
) => boolean;
export declare function stripCData(str: string): string;
