// Copyright (c) 2026 Cloudflare, Inc. // Licensed under the Apache 2.0 license found in the LICENSE file or at: // https://opensource.org/licenses/Apache-2.0 export interface SocketInfo { remoteAddress?: string | null; localAddress?: string | null; } export type Reader = ReadableStream; export interface Writer extends WritableStream { close(): Promise; write(data: string | ArrayBufferView): Promise; closed: Promise; releaseLock(): void; } export interface Socket { opened: Promise; closed: Promise; close(): Promise; readable: Reader; writable: Writer; startTls(): Socket; readonly upgraded: boolean; readonly secureTransport: 'on' | 'off' | 'starttls'; } declare namespace sockets { function connect( input: string, options: { allowHalfOpen?: boolean | undefined; highWatermark?: number | undefined; secureTransport: 'on' | 'off' | 'starttls'; } ): Socket; } export default sockets;