import Task from '@dojo/core/async/Task';
import { RemoteEvents } from '../RemoteSuite';
import BaseChannel, { ChannelOptions } from './Base';
export default class HttpChannel extends BaseChannel {
    protected _lastRequest: Task<void>;
    protected _messageBuffer: string[];
    protected _sequence: number;
    protected _maxPostSize: number;
    constructor(options: HttpChannelOptions);
    protected _sendData(name: keyof RemoteEvents, data: any): Task<void>;
    /**
     * If there are messages to send, send them.
     */
    protected _send(): Task<void>;
    /**
     * Some testing services have problems handling large message POSTs, so limit the maximum size of each POST body to
     * maxPostSize bytes. Always send at least one message, even if it's more than maxPostSize bytes.
     */
    protected _sendMessages(): Task<void>;
}
export interface HttpChannelOptions extends ChannelOptions {
    maxPostSize?: number;
}
