/// <reference types="node" />
import Server from "../server";
import { LocalContext } from "../../types/context";
import WSConnect from "./WsConnect";
import { WebSocket } from "@rjweb/uws";
import { WebSocketContext } from "../../types/webSocket";
export default class WSMessage<Context extends Record<any, any> = {}, Message = unknown, Path extends string = '/'> extends WSConnect<Context, 'message', Path> {
    /**
     * Initializes a new Instance of a Web Context
     * @since 7.0.0
    */ constructor(controller: Server<any, any>, localContext: LocalContext, ws: WebSocket<WebSocketContext>);
    /**
     * The Type of this Request
     * @since 5.7.0
    */ readonly type = "message";
    /**
     * The Type of the Socket Message
     * @since 7.8.0
    */ get messageType(): LocalContext['body']['type'];
    /**
     * The Socket Message (JSON Automatically parsed if enabled)
     * @since 5.4.0
    */ get message(): Message;
    /**
     * The Raw Socket Message
     * @since 5.5.2
    */ get rawMessage(): string;
    /**
     * The Raw Socket Message as Buffer
     * @since 8.1.4
    */ get rawMessageBytes(): Buffer;
}
