export declare type CodeFormatOptions = {
  tabWidth?: number;
  useTabs?: boolean;
};
/**
 * Class to format HTML code with proper indentation and style cleanup.
 */
declare class CodeFormatter {
  /**
   * Inline/phrasing elements that should be kept on a single line with their content.
   * These tags are formatted as: <tag>content</tag> on one line.
   */
  private static readonly INLINE_TAGS;
  /**
   * Void/self-closing elements that don't have closing tags.
   * Used to avoid increasing indentation for these elements.
   */
  private static readonly VOID_TAGS;
  /**
   * Tags whose content should be preserved as-is without formatting.
   */
  private static readonly PRESERVE_CONTENT_TAGS;
  /**
   * Extracts the tag name from an HTML tag string.
   *
   * @param {string} tag - A raw HTML tag string
   * @returns {string} The lowercase tag name, or an empty string if no match is found.
   */
  private static getTagName;
  /**
   * Formats a given HTML source string by applying indentation and cleaning up styles.
   * Content inside preserve tags (pre) is preserved as-is without formatting.
   *
   * @param {string} source - The HTML source string to format.
   * @param {CodeFormatOptions} options - Formatting options.
   * @returns {string} The formatted HTML string.
   */
  format: (source: string, options?: CodeFormatOptions) => string;
  /**
   * Formats a CSS style string by trimming white space and ensuring consistent semicolon spacing.
   *
   * @param {string} style - The CSS style string to format.
   * @returns {string} The formatted style string.
   */
  private formatStyle;
}
declare const _default: CodeFormatter;
export default _default;
