import {Checker} from '../../checker';
import {Fixer} from '../../util/fixer';
import {Config, MatchedNodeTypes, PatternKind} from '../../util/pattern_config';

/**
 * A patternEngine is the logic that handles a specific PatternKind.
 */
export abstract class PatternEngine<P extends PatternKind> {
  constructor(
      protected readonly config: Config<P>,
      protected readonly fixer?: Fixer<MatchedNodeTypes[P]>,
      protected readonly verbose?: boolean) {}

  abstract register(checker: Checker): void;
}
