import { PlayerSession } from '../../';
import { default as Server } from '../../Server';
import { default as DataPacket } from '../packet/DataPacket';
export default interface PacketHandler<T extends DataPacket> {
    /**
     * Handle a data packet.
     * @param {T} packet - Instance of packet we need to handle.
     * @param {Server} server - The server instance.
     * @param {PlayerSession} session - The player session.
     * @returns {Promise<void> | void} Handled packet.
     */
    handle(packet: T, server: Server, session: PlayerSession): Promise<void> | void;
}
//# sourceMappingURL=PacketHandler.d.ts.map