///
import { DtlsContext } from "../context/dtls";
import { TransportContext } from "../context/transport";
import { Handshake } from "../typings/domain";
declare const flightTypes: readonly ["PREPARING", "SENDING", "WAITING", "FINISHED"];
type FlightType = typeof flightTypes[number];
export declare abstract class Flight {
private transport;
dtls: DtlsContext;
private flight;
private nextFlight?;
state: FlightType;
static RetransmitCount: number;
constructor(transport: TransportContext, dtls: DtlsContext, flight: number, nextFlight?: number | undefined);
protected createPacket(handshakes: Handshake[]): import("../record/message/plaintext").DtlsPlaintext[];
protected transmit(buffers: Buffer[]): Promise;
protected send: (buf: Buffer[]) => Promise;
private setState;
}
export {};