/// <reference types="node" />
import pino from 'pino';
import { EventEmitter } from 'events';
import { Server } from 'http';
export declare type MQTTServerOptions = {
    id?: string;
    maxConnections?: number;
    backend?: {
        wildcardOne: string;
        wildcardSome: string;
    };
    stats?: boolean;
    publishNewClient?: boolean;
    publishClientDisconnect?: boolean;
    publishSubscriptions?: boolean;
    maxInflightMessages?: number;
    onQoS2publish?: string;
    logger?: {
        name?: string;
        level?: string;
    };
};
export declare class MQTTServer extends EventEmitter {
    private callback;
    options: MQTTServerOptions;
    clients: {};
    private _dedupId;
    private closed;
    logger: pino.Logger;
    onQoS2publish: any;
    id: string;
    listener: any;
    constructor(options?: MQTTServerOptions, callback?: (err: any, data?: any) => void);
    private init;
    toString(): string;
    subscribe(topic: any, callback: any, done: any): void;
    publish(packet: any, client?: any, callback?: any): void;
    close(callback?: () => void): void;
    updateOfflinePacket(client: any, originMessageId: any, packet: any, callback: any): void;
    attachHttpServer(server: Server, path?: string): void;
    nextDedupId(): number;
}
//# sourceMappingURL=server.d.ts.map