import { Packet, PacketFilter } from './packet'; import { InputSocket, SocketDescriptor, OutputSocket } from './socket'; import { VoidCallback } from '../common-types'; export declare class SocketFifoQueue extends InputSocket { private _onPacketWasQueued; private _packets; constructor(_onPacketWasQueued?: VoidCallback, descr?: SocketDescriptor); peek(): Packet; pop(): Packet; dequeue(): Packet; drop(): void; get length(): number; private _onReceive; private _push; } export declare class SocketFifoValve extends OutputSocket { private _queue; private _filters; constructor(_queue: SocketFifoQueue, sd: SocketDescriptor); get queue(): SocketFifoQueue; get filters(): PacketFilter[]; addPacketFilterPass(filter: PacketFilter): SocketFifoValve; transferOne(): void; drain(): void; } export declare function wrapOutputSocketWithValve(output: OutputSocket, onPacketWasQueued?: VoidCallback): SocketFifoValve;