import { BreakpointsForPrefixType, ManagedResponsiveScopeInput, ResponsiveType } from '../../../types/ui.type';
import { ResponsiveFormatter } from './responsive-formatter';
import { Nullable } from '../../../types/general';
/**
 * Get the style text from the responsive property.
 */
export declare abstract class ResponsiveCSSTextFormatter<Flag extends keyof ManagedResponsiveScopeInput> implements ResponsiveFormatter<ManagedResponsiveScopeInput[Flag], string> {
  /**
   * > It takes a `ResponsiveType<ManagedResponsiveScopeInput[Flag]>` and returns a string
   *
   * @typedef Flag key of ManagedResponsiveScopeInput
   * @param {ResponsiveType<ManagedResponsiveScopeInput[Flag]>} input - ManagedResponsiveScopeInput[Flag]
   * @returns {string} - CSS text string.
   */
  format(input: ResponsiveType<ManagedResponsiveScopeInput[Flag]>): string;
  /**
   * Create the complete style text with media query selector.
   *
   * @param {string} cssText - The style snippet.
   * @param {BreakpointsTokenType} breakpoint - The screen breakpoint.
   * @returns {string} - Style content with css selector.
   */
  private generateCssText;
  abstract formatToken(input: ManagedResponsiveScopeInput[Flag], breakpoint?: Nullable<BreakpointsForPrefixType>): string;
}
