import { Store } from '@ngrx/store';
import { DevtoolsServiceInterface } from '@o3r/core';
import { LoggerService } from '@o3r/logger';
import { type PlaceholderTemplateState } from '../stores';
import { ComponentsDevtoolsServiceOptions } from './components-devkit.interface';
import * as i0 from "@angular/core";
export declare class ComponentsDevtoolsMessageService implements DevtoolsServiceInterface {
    private readonly logger;
    private readonly store;
    private readonly options;
    private readonly inspectorService;
    private readonly sendMessage;
    private readonly destroyRef;
    constructor(logger: LoggerService, store: Store<PlaceholderTemplateState>, options?: ComponentsDevtoolsServiceOptions);
    /**
     * Function to connect the plugin to the Otter DevTools extension
     */
    private connectPlugin;
    private sendCurrentSelectedComponent;
    private sendIsComponentSelectionAvailable;
    /**
     * 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 message coming from the Otter Chrome DevTools extension
     */
    private handleEvents;
    /** @inheritDoc */
    activate(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ComponentsDevtoolsMessageService, [null, null, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ComponentsDevtoolsMessageService>;
}
//# sourceMappingURL=components-devtools.message.service.d.ts.map