///
import coap from 'coap';
import { RemoteInfo } from 'dgram';
import { EventEmitter } from 'events';
import stream, { Readable } from 'stream';
export default coap;
export * from 'coap';
interface BufferList extends stream.Duplex {
length: number;
append(buffer: Buffer | Buffer[] | BufferList | BufferList[] | string): void;
get(index: number): number;
slice(start?: number, end?: number): Buffer;
shallowSlice(start?: number, end?: number): BufferList;
copy(dest: Buffer, destStart?: number, srcStart?: number, srcEnd?: number): void;
duplicate(): BufferList;
consume(bytes?: number): void;
toString(encoding?: string, start?: number, end?: number): string;
indexOf(value: string | number | Uint8Array | BufferList | Buffer, byteOffset?: number, encoding?: string): number;
readDoubleBE(offset: number, noAssert?: boolean): number;
readDoubleLE(offset: number, noAssert?: boolean): number;
readFloatBE(offset: number, noAssert?: boolean): number;
readFloatLE(offset: number, noAssert?: boolean): number;
readInt32BE(offset: number, noAssert?: boolean): number;
readInt32LE(offset: number, noAssert?: boolean): number;
readUInt32BE(offset: number, noAssert?: boolean): number;
readUInt32LE(offset: number, noAssert?: boolean): number;
readInt16BE(offset: number, noAssert?: boolean): number;
readInt16LE(offset: number, noAssert?: boolean): number;
readUInt16BE(offset: number, noAssert?: boolean): number;
readUInt16LE(offset: number, noAssert?: boolean): number;
readInt8(offset: number, noAssert?: boolean): number;
readUInt8(offset: number, noAssert?: boolean): number;
}
export interface IncomingMessage extends Readable {
payload: Buffer;
options: any;
headers: Headers;
code: string;
method: Method | null;
url: string;
rsinfo: RemoteInfo;
outSocket: any;
}
export interface OutgoingMessage extends BufferList {
code: string;
statusCode: string;
setOption(name: string, value: any): any;
reset(): void;
writeHead(code: number, headers: Headers): void;
}
declare type Method = 'GET' | 'POST' | 'PUT' | 'DELETE';
declare type Headers = Record;
export interface Agent extends EventEmitter {
_nextToken: () => Buffer;
}
export interface RequestOptions {
timeout?: number;
host?: string;
hostname?: string;
port?: number;
method?: Method;
confirmablev?: boolean;
observe?: boolean;
pathname?: string;
query?: string;
options?: Headers;
headers?: Headers;
agent?: Agent;
proxyUri?: string;
multicast?: boolean;
multicastTimeout?: number;
retrySend?: number;
}