import { Entity } from "../../interfaces/models/Entity"; import { Comment } from "../../interfaces/models/Comment"; import { ChatMessage } from "../../interfaces/models/ChatMessage"; import { SpaceReputationContextParams } from "../../interfaces/SpaceReputation"; export interface ContentSearchResult { sourceType: "entity" | "comment" | "message"; similarity: number; record: Entity | Comment | ChatMessage; } export interface UseSearchContentProps extends SpaceReputationContextParams { query: string; sourceTypes?: ("entity" | "comment" | "message")[]; spaceId?: string; /** * With a `spaceId`, also search every space nested under it (children, * grandchildren — the whole subtree, any depth). Ignored without a `spaceId`. * Defaults to false (exact-space search). */ includeChildSpaces?: boolean; conversationId?: string; limit?: number; } export interface UseSearchContentReturn { results: ContentSearchResult[]; loading: boolean; error: string | null; search: (props: UseSearchContentProps) => Promise; reset: () => void; } export default function useSearchContent(): UseSearchContentReturn;