import { default as Frame } from './protocol/Frame';
import { default as InetAddress } from './utils/InetAddress';
import { RemoteInfo } from 'node:dgram';
import { default as RakNetListener } from './ServerSocket';
export declare enum RakNetPriority {
NORMAL = 0,
IMMEDIATE = 1
}
export declare enum SessionStatus {
CONNECTING = 0,
CONNECTED = 1,
DISCONNECTING = 2,
DISCONNECTED = 3
}
export default class Session {
private readonly listener;
private readonly mtuSize;
readonly rinfo: RemoteInfo;
readonly guid: bigint;
private state;
private outputFrameQueue;
private outputSequenceNumber;
private outputReliableIndex;
private readonly outputBackupQueue;
private readonly outputOrderIndex;
private readonly outputSequenceIndex;
private receivedFrameSequences;
private lostFrameSequences;
private readonly fragmentsQueue;
private outputFragmentIndex;
private lastInputSequenceNumber;
private readonly inputHighestSequenceIndex;
private readonly inputOrderIndex;
private inputOrderingQueue;
private lastUpdate;
private active;
private readonly packetPool;
constructor(listener: RakNetListener, mtuSize: number, rinfo: RemoteInfo, guid: bigint);
private readonly packetHandlers;
update(timestamp: number): void;
handle(buffer: Buffer): void;
private handleFrameSet;
private handleACK;
private handleNACK;
private handleFrame;
sendFrame(frame: Frame, flags?: RakNetPriority): void;
private addFrameToQueue;
private handlePacket;
handleConnectionRequest(buffer: Buffer): Promise;
handleConnectedPing(buffer: Buffer): Promise;
handleFragment(frame: Frame): void;
sendFrameQueue(): void;
private sendFrameSet;
private sendPacket;
close(): void;
/**
* Kick a client
* @param reason - the reason message, optional
*/
disconnect(reason?: string): void;
getState(): number;
isActive(): boolean;
isDisconnected(): boolean;
getListener(): RakNetListener;
/**
* Returns the maxmium transfer unit
* for this connection.
* @returns {number} the UDP adjusted.
*/
getMTU(): number;
getAddress(): InetAddress;
}
//# sourceMappingURL=Session.d.ts.map