import net from "net"; type UnixDomainSocketBytes = Buffer; interface UnixDomainSocketOpts { block_size_kb: number; socket_path: string; thread_limit: number; } type UnixDomainSocketCtx = any[]; declare class UnixDomainSocketStream { opts: UnixDomainSocketOpts; topic: null | string; cb_send: (bytes: Buffer) => Promise; constructor(opts: UnixDomainSocketOpts); on_send(cb: (bytes: Buffer) => Promise): void; push(payload: Record, bytes: Buffer): Promise; set_topic(topic: string): void; } type UnixDomainSocketHandler = (ctx: UnixDomainSocketCtx, bytes: UnixDomainSocketBytes) => Promise; type UnixDomainSocketLogger = (level: string, message: string) => Promise; declare class UnixDomainSocket { opts: UnixDomainSocketOpts; client: net.Socket | null; cb_handlers: Record; cb_logger: (_level: string, message: string) => Promise; constructor(opts: UnixDomainSocketOpts); logger(cb: UnixDomainSocketLogger): void; on(topic: string, cb: UnixDomainSocketHandler): void; push(topic: string, payload: any, bytes: Buffer): Promise; start(): Promise; stop(): Promise; } export type { UnixDomainSocketBytes, UnixDomainSocketCtx, UnixDomainSocketHandler, UnixDomainSocketLogger, UnixDomainSocketOpts, }; export { UnixDomainSocket, UnixDomainSocketStream }; //# sourceMappingURL=index.d.ts.map