import { TPropertyObject } from 'tscommons-esm-core'; import { DatabaseService } from '../services/database.service.mjs'; import { IParserConfig } from '../interfaces/iparser-config.mjs'; import { IRequestOutcome } from '../interfaces/irequest-outcome.mjs'; import { WordsParser, IWordsConfig } from './words.parser.mjs'; export interface IDictionaryConfig extends IWordsConfig { dictionary: string; caseSensitive?: boolean; } export declare function isIDictionaryConfig(test: unknown): test is IDictionaryConfig; export declare abstract class DictionaryParser extends WordsParser { protected caseSensitive: boolean; private dictionary; private cacheId; constructor(outcome?: IRequestOutcome, config?: TPropertyObject, configKey?: string); protected getDictionary(): string[]; protected abstract parseMatches(database: DatabaseService, matches: string[], nonMatches: string[]): Promise; protected parseWords(database: DatabaseService, words: string[]): Promise; }