import { VegaRTEAnnotations } from '../../../interface';
import { RTEFilterStyles, RTEFilterStylesStrategy } from '../filter-styles-strategy.abstract';
/**
 * Filters redundant inline text formatting styles from `customStyle` when
 * parsing an RTETextNode. These styles are already represented by semantic
 * annotations and should not be persisted as custom overrides after source
 * edit round-trips.
 */
export declare class TextFormatFilterStylesStrategy extends RTEFilterStylesStrategy {
  protected stylesToBeFiltered: RTEFilterStyles;
  /**
   * @returns {boolean} Always `true` — this strategy runs regardless of `autoMatchFormat`.
   */
  get alwaysFilter(): boolean;
  /**
   * Filter redundant text format styles from `customStyle`.
   *
   * @param {VegaRTEAnnotations} annotations - The annotations to filter.
   * @returns {VegaRTEAnnotations} The same annotations reference with customStyle cleaned up.
   */
  filterAnnotations(annotations: VegaRTEAnnotations): VegaRTEAnnotations;
  /**
   * Normalizes a `text-decoration` CSS value to a sorted, unique token string of
   * toolbar-only tokens (`underline`, `line-through`). Returns `undefined` if the
   * value contains any non-toolbar token (e.g. `wavy`, a color).
   *
   * @param {string | undefined} value - The raw `textDecoration` CSS value.
   * @returns {string | undefined} Normalized token string, or `undefined` if the value cannot be safely removed.
   */
  private normalizeTextDecoration;
  /**
   * Determines whether the `textDecoration` custom style should be removed based on the
   * semantic annotations present. Removal happens only when the normalized value exactly
   * matches the set of `{underline, strikethrough}` annotations.
   *
   * @param {string} normalizedTextDecoration - The normalized `textDecoration` token string.
   * @param {VegaRTETextAnnotations} annotations - The text annotations to check against.
   * @returns {boolean} `true` if the `textDecoration` style is redundant and should be removed.
   */
  private shouldRemoveTextDecoration;
}
