import { Subject, BehaviorSubject, ReplaySubject, Subscription } from 'rxjs';
export interface EventDefinition {
    name: string;
    type?: 'behaviour' | 'subject' | 'replay';
    initialValue?: any;
    windowTime?: number;
    timestampProvider?: any;
}
export declare class LibEventManagerService {
    eventSubjects: Record<string, Subject<any> | BehaviorSubject<any> | ReplaySubject<any>>;
    eventSubjectParams: Record<string, EventDefinition>;
    constructor(eventSet: (string | EventDefinition)[]);
    addEventName(event: string | EventDefinition, rebuild?: boolean): void;
    resetSubject(eventClassName: string): void;
    getEventNames(): string[];
    getSubject(eventClassName: string): Subject<any> | null;
    subscribe(eventClassName: string, callback: (data: any) => void): Subscription;
    next(eventClassName: string, data: any): void;
    destroy(): void;
}
