import { AMQPBaseClient } from "./amqp-base-client.js";
import type { AMQPTlsOptions } from "./amqp-tls-options.js";
import type { Logger } from "./types.js";
import * as net from "net";
/**
 * AMQP 0-9-1 client over TCP socket.
 */
export declare class AMQPClient extends AMQPBaseClient {
    /** Underlying TCP socket, set after connect. */
    socket?: net.Socket | undefined;
    /** Whether TLS is enabled. */
    readonly tls: boolean;
    /** Server hostname. */
    readonly host: string;
    /** Server port. */
    readonly port: number;
    /** TLS options passed to `tls.connect`. */
    readonly tlsOptions: AMQPTlsOptions | undefined;
    private readonly insecure;
    private framePos;
    private frameSize;
    private readonly frameBuffer;
    /**
     * @param url - uri to the server, example: amqp://user:passwd@localhost:5672/vhost
     * @param tlsOptions - optional TLS options
     * @param logger - optional logger instance, defaults to null (no logging)
     */
    constructor(url: string, tlsOptions?: AMQPTlsOptions, logger?: Logger | null);
    connect(): Promise<AMQPBaseClient>;
    private connectSocket;
    private onRead;
    /**
     * @ignore
     * @param bytes to send
     * @return fulfilled when the data is enqueued
     */
    send(bytes: Uint8Array): Promise<void>;
    protected closeSocket(): void;
}
//# sourceMappingURL=amqp-socket-client.d.ts.map