import { Nullable } from '../../../types/general';
import { StringFormatStrategy } from './string-format-strategy.abstract';
import { CustomStringFormatter } from './custom-formatter-strategy';
/**
 * A class for formatting phone number with the given mask format
 *
 * @augments StringFormatStrategy
 */
export declare class VegaPhoneNumberInputStrategy extends StringFormatStrategy {
  private readonly formatter;
  constructor(formatter: CustomStringFormatter);
  /**
   * @inheritDoc
   */
  format(input: string): string;
  /**
   * Get the position of
   *
   * @param {string} input - The input string
   * @param {number} caretPosition - The current position of caret
   * @returns {Nullable<number>} The new position of caret
   */
  calculateCaretPosition(input: string, caretPosition: Nullable<number>): Nullable<number>;
  /**
   * Trigger the formatter at init
   *
   * @returns {boolean} true or false
   */
  protected shouldTriggerAtInit(): boolean;
  /**
   * Count the numbers in a given string
   *
   * @param {string} value - given string
   * @returns {number} count
   */
  private countNumbers;
  /**
   * The below method is e2e-test covered in
   *
   * module:vega-input-phone-number-input-delete
   */
  /**
   *
   * @param {string} value - a given string
   * @param {number} count - count of numbers
   * @returns {string} the return string
   */
  private truncateToNumberCount;
}
