import { SlackApp } from "../app";
import { SlackSocketModeAppEnv } from "../app-env";
/**
 * An experimental Socket Mode client
 *
 * Please note that this is still experimental and it's not recommended to use it for production apps.
 * If you need a reliable Socket Mode client, please use @slack/socket-mode library on Node.js along with slack-edge.
 *
 * @todo Implement proper reconnection logic
 * @todo Add connection monitor like 1st party SDKs do
 * @todo Add Bun support (the runtime does not work well with Socket Mode)
 */
export declare class SocketModeClient {
    app: SlackApp<SlackSocketModeAppEnv>;
    appLevelToken: string;
    ws: WebSocket | undefined;
    constructor(app: SlackApp<any>);
    /**
     * Establishes a WebSocket connection to Slack using Socket Mode.
     *
     * This method opens a new WSS connection using the app-level token and sets up
     * event handlers for incoming messages, connection events, and errors.
     *
     * @throws {SocketModeError} If the WebSocket connection cannot be established
     */
    connect(): Promise<void>;
    /**
     * Disconnects from the Slack Socket Mode connection.
     *
     * This method closes the active WebSocket connection if one exists
     * and cleans up the connection reference.
     */
    disconnect(): Promise<void>;
}
//# sourceMappingURL=socket-mode-client.d.ts.map