import * as $dara from '@darabonba/typescript';
import { WebSocketClient } from './client';
export declare const SubProtocolAWAP = "awap";
export declare const SubProtocolGeneral = "general";
export declare class StreamHandler extends $dara.AbstractWebSocketHandler {
    userHandler: $dara.WebSocketHandler;
    subProtocol: string;
    client: WebSocketClient | null;
    constructor(userHandler: $dara.WebSocketHandler, subProtocol: string);
    afterConnectionEstablished(session: $dara.WebSocketSessionInfo): Promise<void>;
    handleError(session: $dara.WebSocketSessionInfo, err: Error): Promise<void>;
    afterConnectionClosed(session: $dara.WebSocketSessionInfo, code: number, reason: string): Promise<void>;
    handleRawMessage(session: $dara.WebSocketSessionInfo, message: $dara.WebSocketMessage): Promise<void>;
    private processAwapMessage;
    private processGeneralMessage;
}
