// Copyright 2000 by Kevin Atkinson under the terms of the LGPL

#ifndef __aspell_phonetic__
#define __aspell_phonetic__

#include <string>

namespace aspell {

  using namespace std;

  class Language;
 
  class Soundslike {
  public:
    virtual Soundslike * clone() const = 0;
    virtual void assign(const Soundslike *) = 0;
    virtual string soundslike_chars() const = 0;
    virtual string to_soundslike(const string &) const = 0;
    virtual const char * name() const = 0;
    virtual const char * version() const = 0;
    virtual ~Soundslike() {}
  };

  Soundslike * new_soundslike(const string & name,
			      const string & dir1,
			      const string & dir2,
			      const Language * lang);
};

#endif
