import { Connection } from "../app"; import { DependencyObserver } from "./DepenedencyObserver"; /** * Observable wrapper for retrieving linked concepts from a source concept with automatic updates. */ export declare class GetLinkObservable extends DependencyObserver { /** The linker type name defining the relationship */ linker: string; /** Number of items per page */ inpage: number; /** Current page number */ page: number; /** List of connection objects */ connections: Connection[]; /** Array of linked composition data */ data: any; /** * Creates a new link observable. * @param id - The source concept ID whose links to retrieve * @param linker - The linker type name defining the relationship * @param inpage - Number of items per page * @param page - Page number (1-indexed) * @param format - Output format (NORMAL, DATAID, JUSTDATA, DATAIDDATE) */ constructor(id: number, linker: string, inpage: number, page: number, format: number); /** * Fetches linked concepts and sets up change listeners. * @returns Array of linked composition data */ bind(): Promise; /** * Builds the array of linked compositions in the specified format. * @returns Array of formatted linked composition data */ build(): Promise; } /** * Creates an observable that tracks linked concepts and updates subscribers when links change. * @param id - The source concept ID whose links to retrieve * @param linker - The linker type name defining the relationship * @param inpage - Number of items per page * @param page - Page number (1-indexed) * @param format - Output format (NORMAL, DATAID, JUSTDATA, DATAIDDATE) * @returns Observable instance for the linked concepts * * @example * const observer = GetLinkListener(123, "Author", 10, 1, NORMAL); * observer.subscribe((linkedData) => console.log(linkedData)); */ export declare function GetLinkListener(id: number, linker: string, inpage: number, page: number, format?: number): GetLinkObservable;