import { AMQPBaseClient, VERSION } from "./amqp-base-client.js";
import { AMQPView } from "./amqp-view.js";
import { AMQPError } from "./amqp-error.js";
import { AMQPChannel } from "./amqp-channel.js";
import { AMQPConsumer } from "./amqp-consumer.js";
import { AMQPMessage } from "./amqp-message.js";
import type { Logger } from "./types.js";
export interface AMQPWebSocketInit {
    url: string;
    vhost?: string;
    username?: string;
    password?: string;
    name?: string;
    frameMax?: number;
    heartbeat?: number;
    channelMax?: number;
    logger?: Logger | null;
}
/**
 * WebSocket client for AMQP 0-9-1 servers.
 */
export declare class AMQPWebSocketClient extends AMQPBaseClient {
    /** WebSocket URL to connect to. */
    readonly url: string;
    private socket?;
    private framePos;
    private frameSize;
    private frameBuffer;
    /**
     * @param url to the websocket endpoint, example: wss://server/ws/amqp
     * @param logger - optional logger instance, defaults to null (no logging)
     */
    constructor(url: string, vhost?: string, username?: string, password?: string, name?: string, frameMax?: number, heartbeat?: number, logger?: Logger | null);
    constructor(init: AMQPWebSocketInit);
    /**
     * Establish a AMQP connection over WebSocket
     */
    connect(): Promise<AMQPBaseClient>;
    /**
     * @param bytes to send
     * @return fulfilled when the data is enqueued
     */
    send(bytes: Uint8Array): Promise<void>;
    protected closeSocket(): void;
    private handleMessage;
    static platform(): string;
}
export { AMQPBaseClient, AMQPChannel, AMQPConsumer, AMQPError, AMQPMessage, AMQPView, VERSION };
export { AMQPSession } from "./amqp-session.js";
export type { AMQPSessionOptions } from "./amqp-session.js";
//# sourceMappingURL=amqp-websocket-client.d.ts.map