import MessageBus, { sendMessage, sendBroadcast } from 'q2-tecton-common/lib/utility/message-bus'; import { BehaviorSubject } from 'rxjs'; import type { TectonMessageBus } from 'q2-tecton-common/lib/types/message-bus'; import type { TectonRuntimeConfig } from '../../types/config'; /** * Platform-specific message bus that filters messages to only registered origins. * Extends the base MessageBus with domain filtering based on configured feature URLs. */ declare class PlatformMessageBus extends MessageBus { private domains; private configSubscription; /** * Creates a new PlatformMessageBus instance. * * @param tectonConfig$ - Observable containing the Tecton runtime configuration * @param allowAll - If true, allows messages from all origins (for testing) */ constructor(tectonConfig$: BehaviorSubject, allowAll?: boolean); /** * Cleans up the config subscription. */ teardown(): void; /** * Extracts and registers allowed domains from the Tecton configuration. * Includes module URLs and any additional configured domains. * * @param tectonConfig - The Tecton runtime configuration */ getConfigDomains(tectonConfig: TectonRuntimeConfig): void; } export { PlatformMessageBus as default, sendMessage, sendBroadcast }; export type { TectonMessageBus }; //# sourceMappingURL=messageBus.d.ts.map