import { Session } from "@rubensworks/solid-client-authn-isomorphic";
import { WebSocket } from 'ws';
export declare class WebSocketChannel2023 {
    private session;
    constructor(session?: Session);
    /**
     * Retrieves the Websocket URL by following the {@link https://solidproject.org/TR/notifications-protocol|notification protocol v0.2.0.}
     *
     * Discovers from the topic resource the storage description resource.
     * Using the contents of the storage description resource, a search is executed to find the WebSocketChannel2023 channel URL.
     * Finally, a POST request is send to the WebSocketChannel with as content the topic and features.
     * @param topic - The resource in the solid pod that you want to subscribe to.
     * @param features - Which features should be in the message of the notification channel.
     * @returns The websocket URL of the Solid pod for this resource.
     */
    subscribe(topic: string, features: Record<string, unknown>): Promise<string>;
    webSocket(topic: string, features: Record<string, unknown>): Promise<WebSocket>;
}
