import type { PresenceChannel } from "./presence-channel";
import { MercurePrivateChannel } from "./mercure-private-channel";
/** Presence synthesized from Mercure subscriptions with users deduplicated across connections. */
export declare class MercurePresenceChannel extends MercurePrivateChannel implements PresenceChannel {
    /** Initial member-list callbacks. */
    private hereCallbacks;
    /** Member joining callbacks. */
    private joiningCallbacks;
    /** Member leaving callbacks. */
    private leavingCallbacks;
    /** Members keyed by hub subscriber id. */
    private members;
    /** Live subscription counts keyed by member identity. */
    private memberCounts;
    /** Whether the initial member list has been seeded. */
    private seeded;
    /** Register an initial member-list callback. */
    here(callback: CallableFunction): this;
    /** Listen for members joining. */
    joining(callback: CallableFunction): this;
    /** Listen for members leaving. */
    leaving(callback: CallableFunction): this;
    /** Seed members from the subscription API snapshot. */
    setInitialMembers(members: Array<[string, unknown]>): void;
    /** Apply a live subscription event. */
    applySubscriptionEvent(subscriber: string, active: boolean, payload: unknown): void;
    /** Return one info entry per distinct member. */
    private uniqueMembers;
    /** Isolate user callback failures from the connection refresh. */
    private invoke;
}
