/// <reference types="node" />
import type { IUnleashConfig } from '../../types/option';
import type { IUnleashStores } from '../../types/stores';
import type { IBaseEvent, IEventList } from '../../types/events';
import type { SearchEventsSchema } from '../../openapi/spec/search-events-schema';
import type EventEmitter from 'events';
import type { IApiUser, IUser } from '../../types';
export default class EventService {
    private logger;
    private eventStore;
    private featureTagStore;
    private eventBus;
    constructor({ eventStore, featureTagStore, }: Pick<IUnleashStores, 'eventStore' | 'featureTagStore'>, { getLogger, eventBus }: Pick<IUnleashConfig, 'getLogger' | 'eventBus'>);
    getEvents(): Promise<IEventList>;
    searchEvents(search: SearchEventsSchema): Promise<IEventList>;
    onEvent(eventName: string | symbol, listener: (...args: any[]) => void): Promise<EventEmitter>;
    private enhanceEventsWithTags;
    isAdminToken(user: IUser | IApiUser): boolean;
    storeEvent(event: IBaseEvent): Promise<void>;
    storeEvents(events: IBaseEvent[]): Promise<void>;
    setEventCreatedByUserId(): Promise<void>;
}
//# sourceMappingURL=event-service.d.ts.map