import { DevtoolsServiceInterface } from '@o3r/core';
import { LoggerService } from '@o3r/logger';
import { RulesEngineDevtoolsServiceOptions } from './rules-engine-devkit.interface';
import { OtterRulesEngineDevtools } from './rules-engine-devtools.service';
import * as i0 from "@angular/core";
export declare class RulesEngineDevtoolsMessageService implements DevtoolsServiceInterface {
    private readonly rulesEngineDevtools;
    private readonly logger;
    private readonly options;
    private readonly forceEmitRulesEngineReport;
    private readonly sendMessage;
    private readonly destroyRef;
    constructor(rulesEngineDevtools: OtterRulesEngineDevtools, logger: LoggerService, options?: RulesEngineDevtoolsServiceOptions);
    /**
     * Function to trigger a re-send a requested messages to the Otter Chrome DevTools extension
     * @param only restricted list of messages to re-send
     */
    private handleReEmitRequest;
    /**
     * Function to handle the incoming messages from Otter Chrome DevTools extension
     * @param message
     */
    private handleEvents;
    private readonly serializeError;
    /**
     * Serialize exceptions in a way that will display the error message after a JSON.stringify()
     * @param debugEvent
     */
    private serializeReportEvent;
    /**
     * Function to start the rules engine reporting to the Otter Chrome DevTools extension
     */
    private startRulesEngineReport;
    /**
     * Function to connect the plugin to the Otter DevTools extension
     */
    private connectPlugin;
    /** Activate the Otter DevTools */
    activate(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<RulesEngineDevtoolsMessageService, [null, null, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<RulesEngineDevtoolsMessageService>;
}
//# sourceMappingURL=rules-engine-devtools.message.service.d.ts.map