import * as dgram from "node:dgram"; import type { BindOptions, RemoteInfo, Socket, SocketOptions } from "node:dgram"; import type { AddressInfo } from "node:net"; export interface IncomingPacket { msg: Buffer; rinfo: RemoteInfo; } export interface SocketAsPromisedOptions extends SocketOptions { dgram?: typeof dgram; } export declare class SocketAsPromised implements AsyncIterable { readonly socket: Socket; private _closed?; private _errored?; private _timeout; constructor(socket: Socket); get timeout(): number; bind(port?: number, address?: string): Promise; bind(options: BindOptions): Promise; addMembership(multicastAddress: string, multicastInterface?: string): this; close(): Promise; send(msg: Buffer | string | Uint8Array | any[], port: number, address: string): Promise; send(msg: Buffer | string | Uint8Array, offset: number, length: number, port: number, address: string): Promise; recv(): Promise; address(): AddressInfo; setBroadcast(flag: boolean): this; setTTL(ttl: number): this; setMulticastTTL(ttl: number): this; setMulticastInterface(multicastInterface: string): this; setMulticastLoopback(flag: boolean): this; dropMembership(multicastAddress: string, multicastInterface?: string): this; ref(): this; unref(): this; setRecvBufferSize(size: number): this; setSendBufferSize(size: number): this; getRecvBufferSize(): number; getSendBufferSize(): number; setTimeout(timeout: number): this; iterate(): AsyncIterableIterator; [Symbol.asyncIterator](): AsyncIterableIterator; destroy(): this; private readonly closeHandler; private readonly errorHandler; } export default SocketAsPromised;