import { z } from "zod"; export declare const NetworkRecommenderOutputSchema: z.ZodObject<{ rankedNetworkIds: z.ZodArray; reasoning: z.ZodString; }, "strip", z.ZodTypeAny, { reasoning: string; rankedNetworkIds: string[]; }, { reasoning: string; rankedNetworkIds: string[]; }>; export type NetworkRecommenderOutput = z.infer; export interface NetworkRecommenderNetwork { networkId: string; renderedContext: string; } export interface NetworkRecommenderInput { /** The user's global user_context paragraph (synthesized identity text). */ userContext: string; networks: NetworkRecommenderNetwork[]; } /** * LLM-based agent that ranks public communities against a user's profile. * Used during onboarding step 6 to surface the most relevant communities first. * * Follows the IntentIndexer pattern: `withStructuredOutput`, `invokeWithAbortSignal`, * null-on-error fallback. `createStructuredModel` is called inside the constructor * (not at module level) so that importing this module does not require * OPENROUTER_API_KEY to be set — tests that import communities tools without a * live LLM env are unaffected. * * IND-546: canonical home — previously network/network.recommender.ts. */ export declare class NetworkRecommender { private model; constructor(); /** * Ranks the provided networks by relevance to the user's profile. * * @param input - User profile and list of networks with rendered context. * @returns Ranked network IDs and one-sentence reasoning, or null on error. */ invoke(input: NetworkRecommenderInput): Promise; }