import { Request } from "./requests/request"; import { Producer } from "./producer"; import { CreateStreamArguments } from "./requests/create_stream_request"; export declare class Connection { private readonly socket; private readonly logger; private correlationId; private decoder; private receivedResponses; private waitingResponses; private publisherId; private heartbeat; constructor(); static connect(params: ConnectionParams): Promise; start(params: ConnectionParams): Promise; close(params?: { closingCode: number; closingReason: string; }): Promise; declarePublisher(params: DeclarePublisherParams): Promise; send(cmd: Request): Promise; createStream(params: { stream: string; arguments: CreateStreamArguments; }): Promise; deleteStream(params: { stream: string; }): Promise; queryPublisherSequence(params: { stream: string; publisherRef: string; }): Promise; private responseReceived; private received; private tune; private exchangeProperties; private auth; private open; private sendAndWait; private waitResponse; private incCorrelationId; private incPublisherId; } export interface ConnectionParams { hostname: string; port: number; username: string; password: string; vhost: string; frameMax?: number; heartbeat?: number; } export interface DeclarePublisherParams { stream: string; publisherRef: string; } export declare function connect(params: ConnectionParams): Promise;