import { ISubject } from '../interfaces/subject'; import { TSubjectPrincipal } from '../types/subject-principal'; export declare abstract class Subject implements ISubject { private data; constructor(data: T); abstract getPrincipal(): TSubjectPrincipal; get(key: K): T[K]; set(key: K, value: T[K]): this; }