import { Socket } from 'dgram'; import { AgentOptions, CoapRequestParams } from '../models/models'; import { EventEmitter } from 'events'; import { ParsedPacket } from 'coap-packet'; import type { OSCORE } from 'coap-oscore'; import OutgoingMessage from './outgoing_message'; import { AddressInfo } from 'net'; interface OscoreRsinfo extends AddressInfo { oscore?: boolean; } declare class Agent extends EventEmitter { _opts: AgentOptions; _closing: boolean; _sock: Socket | null; _msgIdToReq: Map; _tkToReq: Map; _tkToMulticastResAddr: Map; private _lastToken; _lastMessageId: number; private _msgInFlight; _requests: number; private _oscoreContexts; private _oscoreOnly; private _parameters; constructor(opts?: AgentOptions); addOscoreContext(host: string, port: number, instance: OSCORE): void; removeOscoreContext(host: string, port: number): void; private _getOscoreContext; _init(socket?: Socket): void; private _handlePlainMessage; close(done?: (err?: Error) => void): this; _cleanUp(): void; _doClose(done?: (err?: Error) => void): void; _handle(packet: ParsedPacket, rsinfo: OscoreRsinfo, outSocket: AddressInfo): void; _nextToken(): Buffer; _nextMessageId(): number; /** * Entry point for a new client-side request. * @param url The parameters for the request */ request(url: CoapRequestParams): OutgoingMessage; _setObserveOption(req: OutgoingMessage, requestParameters: CoapRequestParams): void; abort(req: OutgoingMessage): void; urlPropertyToPacketOption(url: CoapRequestParams, req: OutgoingMessage, property: string, option: string, separator: string): void; _convertMulticastToUnicastRequest(req: any, rsinfo: AddressInfo): OutgoingMessage | undefined; } export default Agent;