import '../../globals.js';
/**
 * Miscellaneous chemistry functions.
 *
 * @author Chris Malley (PixelZoom, Inc.)
 */
import Element from './Element.js';
declare const ChemUtils: {
    /**
     * Creates a symbol (HTML fragment) based on the list of atoms in the molecule.
     * The atoms must be specified in order of appearance in the symbol.
     * Examples:
     *    [C,C,H,H,H,H] becomes "C<sub>2</sub>H<sub>4</sub>"
     *    [H,H,O] becomes "H<sub>2</sub>O"
     */
    createSymbol: (elements: Element[]) => string;
    /**
     * Creates a symbol (text) based on the list of atoms in the molecule.
     * The atoms must be specified in order of appearance in the symbol.
     * Examples:
     *    [C,C,H,H,H,H] becomes "C2H4"
     *    [H,H,O] becomes "H2O"
     */
    createSymbolWithoutSubscripts: (elements: Element[]) => string;
    /**
     * Return an integer that can be used for sorting atom symbols alphabetically. Lower values will be returned for
     * symbols that should go first. Two-letter symbols will come after a one-letter symbol with the same first
     * character (Br after B). See http://en.wikipedia.org/wiki/Hill_system, for without carbon
     */
    nonCarbonHillSortValue: (element: Element) => number;
    /**
     * Returns an integer that can be used for sorting atom symbols for the Hill system when the molecule contains
     * carbon. Lowest value is first. See http://en.wikipedia.org/wiki/Hill_system
     */
    carbonHillSortValue: (element: Element) => number;
    /**
     * Handles HTML subscript formatting for molecule symbols.
     * All numbers in a string are assumed to be part of a subscript, and will be enclosed in a <sub> tag.
     * For example, 'C2H4' becomes 'C<sub>2</sub>H<sub>4</sub>'.
     * @param inputString - the input plaintext string
     * @returns - the HTML fragment
     */
    toSubscript: (inputString: string) => string;
    /**
     * @param elements - a collection of elements in a molecule
     * @returns The molecular formula of the molecule in the Hill system. Returned as an HTML fragment.
     *          See http://en.wikipedia.org/wiki/Hill_system for more information.
     */
    hillOrderedSymbol: (elements: Element[]) => string;
};
export default ChemUtils;
//# sourceMappingURL=ChemUtils.d.ts.map