export interface Beacon { readonly key?: string; emit(value: T): void; on(listener: (value: T) => void): () => void; once(listener: (value: T) => void): () => void; off(listener: (value: T) => void): void; clear(): void; } export interface Pulse { readonly key?: string; emit(): void; on(listener: () => void): () => void; once(listener: () => void): () => void; off(listener: () => void): void; clear(): void; } export declare function createBeacon(): Beacon; export declare function createBeacon(key: string): Beacon; export declare function useBeacon(key: string): Beacon; export declare function hasBeacon(key: string): boolean; export declare function getBeacon(key: string): Beacon | undefined; export declare function clearBeacons(): void; export declare function createPulse(): Pulse; export declare function createPulse(key: string): Pulse; export declare function usePulse(key: string): Pulse; export declare function hasPulse(key: string): boolean; export declare function getPulse(key: string): Pulse | undefined; export declare function clearPulses(): void; //# sourceMappingURL=channels.d.ts.map