import { SearchQuery, SearchStructure } from "../app"; import { DependencyObserver } from "./DepenedencyObserver"; /** * Observable wrapper for searching linked concepts with complex query structures and automatic updates. */ export declare class GetLinkListObservable extends DependencyObserver { /** Array of search query conditions */ searchQuery: SearchQuery[]; /** Search structure defining composition and linker types */ searchStructure: SearchStructure; /** Output format */ format: number; /** List of main composition IDs */ mainCompositionIds: number[]; /** Character value of the search composition */ searchCharacter: string; /** Authentication token */ token: string; /** * Creates a new link list observable. * @param searchStructure - Defines composition and linker types for the search * @param searchQuery - Array of query conditions to filter results * @param token - Authentication token * @param format - Output format (DATAID, NORMAL) */ constructor(searchStructure: SearchStructure, searchQuery: SearchQuery[], token: string, format?: number); /** * Overrides base method to handle new compositions of the searched type being created. * @param id - The type concept ID to track */ listenToEventType(id: number): void; /** * Executes the search query and sets up change listeners. * @returns Array of formatted search results */ bind(): Promise; /** * Builds the search results in the specified format. * @returns Array of formatted search results */ build(): Promise; } /** * Creates an observable that tracks search results with complex query conditions and updates subscribers when results change. * @param searchStructure - Defines composition and linker types for the search * @param searchQuery - Array of query conditions to filter results * @param token - Authentication token * @param format - Output format (DATAID, NORMAL) * @returns Observable instance for the search results * * @example * const structure = { composition: "BlogPost", linker: ["Author", "Category"] }; * const queries = [{ type: "BlogPost", searchField: "title", searchText: "tutorial" }]; * const observer = GetLinkListListener(structure, queries, token, DATAID); * observer.subscribe((results) => console.log(results)); */ export declare function GetLinkListListener(searchStructure: SearchStructure, searchQuery: SearchQuery[], token: string, format?: number): GetLinkListObservable;