import { AppOptions, EventProcessorOptions, EventsHandler, Processor, StorageEvents } from '../definitions';
interface EventProcessorI {
    readonly offerId: string;
    initialized: boolean;
}
export declare abstract class EventProcessor implements EventProcessorI {
    readonly offerId: string;
    readonly options?: AppOptions;
    initialized: boolean;
    protected constructor(offerId: string, options?: AppOptions);
    getProcessor<T extends StorageEvents, O extends EventProcessorOptions>(handlers: EventsHandler<T, O>[], deps: O): Processor<T>;
    abstract initialize(): Promise<void>;
    abstract run(): Promise<void>;
    abstract stop(): Promise<void>;
}
export {};
