import * as WebSocket from "ws";
import { Configuration } from "../../../configuration";
import { AutomationContextAware, HandlerContext } from "../../../HandlerContext";
import { AutomationEventListener } from "../../../server/AutomationEventListener";
import { AutomationServer } from "../../../server/AutomationServer";
import { GraphClient } from "../../../spi/graph/GraphClient";
import { MessageClient } from "../../../spi/message/MessageClient";
import { AbstractRequestProcessor } from "../AbstractRequestProcessor";
import { CommandIncoming, EventIncoming } from "../RequestProcessor";
import { RegistrationConfirmation, WebSocketRequestProcessor } from "./WebSocketRequestProcessor";
export declare class DefaultWebSocketRequestProcessor extends AbstractRequestProcessor implements WebSocketRequestProcessor {
    protected automations: AutomationServer;
    protected configuration: Configuration;
    protected listeners: AutomationEventListener[];
    private graphClients;
    private registration?;
    private readonly webSocketLifecycle;
    constructor(automations: AutomationServer, configuration: Configuration, listeners?: AutomationEventListener[]);
    onRegistration(registration: RegistrationConfirmation): void;
    onConnect(ws: WebSocket): void;
    onDisconnect(): void;
    protected sendStatusMessage(payload: any, ctx: HandlerContext & AutomationContextAware): Promise<any>;
    protected createGraphClient(event: CommandIncoming | EventIncoming): GraphClient;
    protected createMessageClient(event: CommandIncoming | EventIncoming): MessageClient;
}
//# sourceMappingURL=DefaultWebSocketRequestProcessor.d.ts.map