import { ObserverCallback, ObserverDestructor } from "./Observable"; export declare enum ListenAdapterEvent { SERVER_LISTENING = "serverListening", SERVER_CLOSING = "serverClosing", SERVER_CLOSED = "serverClosed", SERVER_DESTROYED = "serverDestroyed" } export declare enum ListenType { TCP = "TCP", SOCKET = "SOCKET" } /** * Interface for NodeJS object which uses [NodeJS's standard socket interface](https://nodejs.org/api/net.html#net_server_listen). */ export interface ListenableServer { listen(...args: Array): void; close(...args: Array): void; } export interface ListenCallback { (): void; } export interface ListenCloseCallback { (): void; } export declare class ListenAdapter { static Event: typeof ListenAdapterEvent; private _observer; private _server; private _listenCalled; private _listening; private _closing; private _destroying; private readonly _type; private readonly _hostname; private readonly _port; private readonly _path; private readonly _listenCallback; private readonly _closeCallback; constructor(server: ListenableServer, url: string); isListening(): boolean; isClosing(): boolean; isClosed(): boolean; isDestroying(): boolean; isDestroyed(): boolean; private _onListen; private _onClose; listen(): void; close(): void; destroy(): void; on(name: ListenAdapterEvent, callback: ObserverCallback): ObserverDestructor; private static _parseInteger; } export default ListenAdapter;