import { FilterRule } from './rules';
/**
 * Generate Album Artist from Artist when "feat. Artist B" is present.
 *
 * @param text String to be filtered
 *
 * @return Transformed string
 */
export declare function albumArtistFromArtist(text: string): string;
/**
 * Decode HTML entities in given text string.
 *
 * @param text String with HTML entities
 *
 * @return Decoded string
 */
export declare function decodeHtmlEntities(text: string): string;
/**
 * Replace text according to given filter rules.
 *
 * @param text String to be filtered
 * @param filterRules Array of replace rules
 *
 * @return Filtered string
 */
export declare function filterWithFilterRules(text: string, filterRules: FilterRule[]): string;
/**
 * Replace "Title - X Remix" suffix with "Title (X Remix) and similar".
 *
 * @param text String to be filtered
 *
 * @return Filtered string
 */
export declare function fixTrackSuffix(text: string): string;
/**
 * Replace "Various Artists something goes here" with "Various Artists".
 *
 * @param text String to be filtered
 *
 * @return Filtered string
 */
export declare function fixVariousArtists(text: string): string;
/**
 * Generate normalized "feat. Artist B" text from [feat. Artist B] style.
 *
 * @param text String to be filtered
 *
 * @return Transformed string
 */
export declare function normalizeFeature(text: string): string;
/**
 * Remove "Explicit" and "Clean"-like strings from the text.
 *
 * @param text String to be filtered
 *
 * @return Filtered string
 */
export declare function removeCleanExplicit(text: string): string;
/**
 * Remove "feat"-like strings from the text.
 *
 * @param text String to be filtered
 *
 * @return Filtered string
 */
export declare function removeFeature(text: string): string;
/**
 * Remove "&" and "x"-like strings from the text.
 *
 * @param text String to be filtered
 *
 * @return Filtered string
 */
export declare function removeAdditionalArtists(text: string): string;
/**
 * Remove "Live..."-like strings from the text.
 *
 * @param text String to be filtered
 *
 * @return Filtered string
 */
export declare function removeLive(text: string): string;
/**
 * Remove "(Parody of "X" by Y)"-like strings from the text.
 * @param text String to be filtered
 *
 * @return Filtered string
 */
export declare function removeParody(text: string): string;
export declare function removeReissue(text: string): string;
/**
 * Remove "Remastered..."-like strings from the text.
 *
 * @param text String to be filtered
 *
 * @return Filtered string
 */
export declare function removeRemastered(text: string): string;
/**
 * Remove "(Single|Album|Mono version}"-like strings from the text.
 *
 * @param text String to be filtered
 *
 * @return Filtered string
 */
export declare function removeVersion(text: string): string;
/**
 * Remove zero-width characters from given string.
 *
 * @param text String to be filtered
 *
 * @return Filtered string
 */
export declare function removeZeroWidth(text: string): string;
/**
 * Replace all non-breaking space symbols with a space symbol.
 *
 * @param text String to be filtered
 *
 * @return Filtered string
 */
export declare function replaceNbsp(text: string): string;
/**
 * Remove Youtube-related garbage from the text.
 *
 * @param text String to be filtered
 *
 * @return Filtered string
 */
export declare function youtube(text: string): string;
/**
 * Replace smart quotes with regular quotes.
 *
 * @param text String to be filtered
 *
 * @return Filtered string
 */
export declare function replaceSmartQuotes(text: string): string;
