/** * Topic/pub-sub contract extractor for NEXUS (stub implementation). * * Detects common pub/sub patterns like: * - `.publish(topic)` in Kafka-style code * - `@KafkaListener(topic)` annotations in Java/Spring * - `emitter.emit(eventName)` in Node.js * * Current implementation is minimal — projects without pub/sub patterns return empty. * Acceptance: the extractor exists and is wire-ready; finding actual topic contracts * is deferred to a follow-up task if needed. * * @task T1065 — Contract Registry */ import type { TopicContract } from '@cleocode/contracts'; /** * Extract all topic/pub-sub contracts from a project's source code. * * Stub implementation: returns empty array on projects without pub/sub patterns. * Full implementation would search for common patterns like: * - `.publish(topicName)` calls * - `.subscribe(topicName)` calls * - `@KafkaListener(topic)` annotations * - `EventEmitter.emit(eventName)` calls * * @param projectId - Project identifier from registry * @param projectRoot - Root directory of the project * @returns Promise resolving to array of TopicContract objects (empty if no pub/sub patterns) */ export declare function extractTopicContracts(_projectId: string, _projectRoot: string): Promise; //# sourceMappingURL=topic-extractor.d.ts.map