import { Signal, SignalReceiver, SignalReceiverCastResult } from './signal'; import { OutputSocket } from './socket-output'; import { Packet } from './packet'; import { SocketDescriptor } from './socket-descriptor'; import { Socket } from './socket-base'; export declare enum SocketType { INPUT = 0, OUTPUT = 1 } export declare enum SocketEvent { ANY_PACKET_TRANSFERRED = "any-packet-transferred", EOS_PACKET_TRANSFERRED = "eos-packet-transferred", ANY_PACKET_RECEIVED = "any-packet-received", DATA_PACKET_RECEIVED = "data-packet-received", EOS_PACKET_RECEIVED = "eos-packet-received" } export declare type SocketEventHandler = (event: SocketEvent) => void; export declare class SocketState { transferring: boolean; closed: boolean; constructor(); } export declare type SocketTemplateGenerator = (st: SocketType) => SocketDescriptor; export interface SocketOwner extends SignalReceiver { getOwnSockets(): Set; cast(signal: Signal): SignalReceiverCastResult; } export interface SeekableOutputSocket extends OutputSocket { seek(start: number, end?: number): boolean; } export interface URLLoadingOutputSocket extends OutputSocket { load(url: string): boolean; } export declare class VoidSocket extends Socket { transferSync(p: Packet): boolean; } export { Socket } from './socket-base'; export { SocketDescriptor } from './socket-descriptor'; export { OutputSocket } from './socket-output'; export { InputSocket } from './socket-input';