import { Client } from '@hprose/rpc-core';
import { Message } from './Message';
export declare class Prosumer {
    readonly client: Client;
    private readonly callbacks;
    retryInterval: number;
    onerror?: (error: Error) => void;
    onsubscribe?: (topic: string) => void;
    onunsubscribe?: (topic: string) => void;
    constructor(client: Client, id?: string);
    get id(): string;
    set id(value: string);
    private dispatch;
    private message;
    subscribe(topic: string, callback: (message: Message) => void): Promise<boolean>;
    unsubscribe(topic: string): Promise<boolean>;
    unicast(data: any, topic: string, id: string): Promise<boolean>;
    multicast(data: any, topic: string, ids: string[]): Promise<{
        [id: string]: boolean;
    }>;
    broadcast(data: any, topic: string): Promise<{
        [id: string]: boolean;
    }>;
    push(data: any, topic: string, id?: string | string[]): Promise<boolean | {
        [id: string]: boolean;
    }>;
    exists(topic: string, id?: string): Promise<boolean>;
    idlist(topic: string): Promise<string[]>;
}
//# sourceMappingURL=Prosumer.d.ts.map