import { IEventService } from "../services/event.service";
import { WebsiteConfig, FileData } from "../models";
import { CompilerDataContext } from '../data/compiler.context';
import { ILogger } from "../logger";
export interface IEventHandler {
    event: string;
    listen: () => void;
    processEvent: (data?: any) => Promise<void>;
}
export declare abstract class EventHandler implements IEventHandler {
    abstract event: string;
    abstract processEvent(data: any): Promise<void>;
    protected eventService: IEventService;
    protected config: WebsiteConfig;
    protected logger: ILogger;
    protected context: CompilerDataContext;
    constructor();
    listen: () => void;
    protected alertFileAvailable: (file: FileData) => Promise<void>;
}
