/** * ComponentController — manages interactive components received from the agent via RPC. * * Lit Reactive Controller equivalent of useRinggComponents from React Native. * Handles: render_component, send_dynamic_data, send_source_urls, disease search, * slash commands, and component response sending. */ import type { ReactiveController, ReactiveControllerHost } from "lit"; import type { RealtimeRoomAdapter, SimpleComponentPayload, InteractiveFlowPayload, DiseaseOption, EventBus } from "@ringg/core"; type ComponentPayload = SimpleComponentPayload | InteractiveFlowPayload; export declare class ComponentController implements ReactiveController { host: ReactiveControllerHost; private adapter; private eventBus; private cleanupFns; private connState; private pendingResponses; private diseaseSearchResolver; private rpcRegistered; components: ComponentPayload[]; lastSourceUrl: string; constructor(host: ReactiveControllerHost, adapter: RealtimeRoomAdapter, eventBus: EventBus); hostConnected(): void; hostDisconnected(): void; respondToComponent(componentId: string, responseData: Record): Promise; searchDiseases(query: string): Promise; submitDiseaseWidget(componentId: string, selections: Array<{ disease_name: string; sub_questions: Array<{ question_id: string; answer: string; }>; }>): Promise; sendSlashCommand(command: string): Promise; clearComponents(): void; private _addComponent; private _registerRpcHandlers; private _unregisterRpcHandlers; } export {}; //# sourceMappingURL=component.controller.d.ts.map