import { PubSub } from './pubsub.js';
import type { PubSubDeliveryMode } from './pubsub.js';
import type { Event, EventCallback, SubscribeOptions } from './types.js';
type UnixSocketPubSubOptions = {
    maxRemoteClientQueuedBytes?: number;
};
export declare class UnixSocketPubSub extends PubSub {
    #private;
    readonly socketPath: string;
    constructor(socketPath: string, options?: UnixSocketPubSubOptions);
    get supportedModes(): ReadonlyArray<PubSubDeliveryMode>;
    get isBroker(): boolean;
    /** Number of remote clients currently connected to this broker. Always 0 for non-broker instances. */
    get remoteClientCount(): number;
    publish(topic: string, event: Omit<Event, 'id' | 'createdAt'>, options?: {
        localOnly?: boolean;
    }): Promise<void>;
    subscribe(topic: string, cb: EventCallback, options?: SubscribeOptions): Promise<void>;
    unsubscribe(topic: string, cb: EventCallback): Promise<void>;
    flush(): Promise<void>;
    close(): Promise<void>;
}
export {};
//# sourceMappingURL=unix-socket-pubsub.d.ts.map