import AbstractProcessor from './AbstractProcessor';
import { WampID } from '../types/messages/MessageTypes';
import type { WampMessage } from '../types/Protocol';
import type { WampDict, WampList, WampURI } from '../types/messages/MessageTypes';
import type { PublishOptions } from '../types/messages/PublishMessage';
declare class Publisher extends AbstractProcessor {
    static getFeatures(): WampDict;
    private _publicationRequests;
    publish<A extends WampList, K extends WampDict>(topic: WampURI, args?: A, kwArgs?: K, options?: PublishOptions): Promise<WampID | undefined>;
    protected onMessage(msg: WampMessage): boolean;
    protected onClose(): void;
}
export default Publisher;
