/**
 * StylePreservator handles CSP-compliant style management by temporarily converting
 * inline styles to data attributes during HTML parsing operations.
 *
 * @example
 * ```typescript
 * const context = StylePreservator.preserve('<div style="color: red;">Content</div>');
 * const safeHtml = context.getProcessedHtml();
 * context.restore(parsedElements);
 * ```
 */
export declare class StylePreservator {
  /**
   * Preserves inline styles by converting them to data attributes.
   *
   * @param {string} htmlString - The HTML string containing inline styles
   * @returns {StylePreservationContext} A context object for later style restoration
   */
  static preserve(htmlString: string): StylePreservationContext;
}
/**
 * Context class that manages the lifecycle of preserved styles.
 */
export declare class StylePreservationContext {
  private readonly processedHtml;
  constructor(processedHtml: string);
  /**
   * Returns the HTML string with style attributes converted to data-style.
   *
   * @returns {string} The processed HTML string
   */
  getProcessedHtml(): string;
  /**
   * Restores data-style attributes back to style attributes.
   *
   * @param {HTMLElement[]} elements - Array of HTML elements to process
   * @returns {void}
   */
  restore(elements: HTMLElement[]): void;
  /**
   * Recursively walk through nodes and restore styles
   *
   * @param {HTMLElement[]} elements - list of nodes
   * @returns {void}
   */
  private walkNodes;
}
