import { FSWatcher } from "fs";
import { EventTypes } from "./EventConstants";
import { IEventJson } from "./doc";
/**
 * Represents an event within the system, containing all necessary metadata
 * and subscriptions related to the event.
 */
export declare class Event implements IEventJson {
    eventTime: string;
    eventName: string;
    eventType: EventTypes;
    appName: string;
    appProcId: number;
    eventFilePath: string;
    subscriptions: FSWatcher[];
    /**
     * Initializes a new instance of the Event class with specified properties.
     *
     * @param {IEventJson} params - The parameters to create the Event.
     */
    constructor({ eventTime, eventName, eventType, appName, eventFilePath, subscriptions }: IEventJson);
    /**
     * Serializes the Event object to a JSON object for storage or transmission.
     *
     * @returns {Object} The JSON representation of the event.
     */
    toJson(): IEventJson;
    /**
     * Provides a string representation of the Event, useful for logging and debugging.
     *
     * @returns {string} A string detailing the event's significant information.
     */
    toString: () => string;
}
//# sourceMappingURL=Event.d.ts.map