export type Listener<X> = (x: X) => void;
export type Pub<X> = {
    (listener: Listener<X>): () => void;
    once(listener: Listener<X>): () => void;
    publish(x: X): void;
    clear(): void;
};
/** @deprecated use `pubsub` instead */
export declare function pub<X>(): Pub<X>;
