/**
 * @module botframework-streaming
 */
/**
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Licensed under the MIT License.
 */
import { IHeader, ITransportSender } from '../interfaces';
import { SubscribableStream } from '../subscribableStream';
import { TransportDisconnectedEvent } from './transportDisconnectedEvent';
import { TransportDisconnectedEventHandler } from './transportDisconnectedEventHandler';
/**
 * Streaming payload sender.
 */
export declare class PayloadSender {
    disconnected?: TransportDisconnectedEventHandler;
    private _sender;
    /**
     * Get current connected state
     *
     * @returns true if connected to a transport sender.
     */
    get isConnected(): boolean;
    /**
     * Connects to the given transport sender.
     *
     * @param sender The transport sender to connect this payload sender to.
     */
    connect(sender: ITransportSender): void;
    /**
     * Sends a payload out over the connected transport sender.
     *
     * @param header The header to attach to the outgoing payload.
     * @param payload The stream of buffered data to send.
     * @param sentCallback The function to execute when the send has completed.
     */
    sendPayload(header: IHeader, payload?: SubscribableStream, sentCallback?: () => Promise<void>): void;
    /**
     * Disconnects this payload sender.
     *
     * @param event The disconnected event arguments to include in the disconnected event broadcast.
     */
    disconnect(event?: TransportDisconnectedEvent): void;
    private writePacket;
}
//# sourceMappingURL=payloadSender.d.ts.map