import { ContextService } from './context.service'; export declare abstract class TypeResultCache { protected readonly context: ContextService; protected constructor(context: ContextService); private readonly resultCache; private readonly regexCache; private readonly subtypeCache; protected default: T; addType(type: string, result: T): void; addMatch(matcher: RegExp, result: T): void; addSubtype(type: string, result: T): void; setDefault(def: T): void; private cacheAndReturn(type, result); private isSubtypeOf(subtype, index, count); private isSubtype(subtype); getResult(type: string | null): Promise; }