/**
 * @module Utils/lib
 * @author Alan Rodas Bonjour <alanrodas@gmail.com>
 */
import { JSX, Reflection, TypeParameterReflection } from 'typedoc';
/**
 * A helper function that both filters and transforms elements in an array.
 */
export declare const filterMap: <T, U>(iter: Iterable<T> | undefined, fn: (item: T) => U | undefined) => U[];
/**
 * Get the full package name.
 */
export declare const getDisplayName: (refl: Reflection) => string;
/**
 * Get the kind of a reflection.
 */
export declare const getKindClass: (refl: Reflection) => string;
/**
 * Insert word break tags ``<wbr>`` into the given string.
 *
 * Breaks the given string at ``_``, ``-`` and capital letters.
 *
 * @param str The string that should be split.
 * @return The original string containing ``<wbr>`` tags where possible.
 */
export declare const wbr: (str: string) => (string | JSX.Element)[];
/**
 * Join all the elements.
 */
export declare const join: <T>(joiner: JSX.Children, list: readonly T[], cb: (x: T) => JSX.Children) => JSX.Element;
/**
 * Return the class names for css of the given names.
 */
export declare const classNames: (names: Record<string, boolean | null | undefined>, extraCss?: string) => string | undefined;
/**
 * Answer if the given reflection has type parameters.
 */
export declare const hasTypeParameters: (reflection: Reflection) => reflection is Reflection & {
    typeParameters: TypeParameterReflection[];
};
export declare class DefaultMap<K, V> extends Map<K, V> {
    private creator;
    constructor(creator: (key: K) => V);
    get(key: K): V;
    getNoInsert(key: K): V | undefined;
}
/**
 * Returns a (hopefully) globally unique path for the given reflection.
 *
 * This only works for exportable symbols, so e.g. methods are not affected by this.
 *
 * If the given reflection has a globally unique name already, then it will be returned as is. If the name is
 * ambiguous (i.e. there are two classes with the same name in different namespaces), then the namespaces path of the
 * reflection will be returned.
 */
export declare const getUniquePath: (reflection: Reflection) => Reflection[];
//# sourceMappingURL=lib.d.ts.map