import { FreeschemaQuery } from "../app"; import { DependencyObserver } from "./DepenedencyObserver"; /** * Observable wrapper for executing free-schema queries with automatic updates. * Supports complex filtering, sorting, and pagination with multiple output formats. */ export declare class SearchLinkMultipleAllObservable extends DependencyObserver { /** The free-schema query object containing all search parameters */ query: FreeschemaQuery; /** Encoded count information strings */ countInfoStrings: string[]; /** Sort order for results */ order: string; /** Total count of matching results */ totalCount: number; /** Cleanup function for cache subscription */ private unsubscribeCache; /** Prevents duplicate async cache listener setup. */ private cacheSubscriptionStarted; /** * Creates a new schema query observable. * @param query - FreeschemaQuery object with search parameters * @param token - Authentication token */ constructor(query: FreeschemaQuery, token: string); private ensureCacheSubscription; protected onDispose(): void; /** * Executes the query once without subscribing to updates. * @returns Formatted query results */ run(): Promise; /** * Executes the query and sets up change listeners for all matching compositions. * @returns Formatted query results */ bind(): Promise; /** * Builds the query results in the specified format. * @returns Formatted query results based on the output format */ build(): Promise; } /** * Creates an observable that executes a free-schema query and updates subscribers when results change. * @param query - FreeschemaQuery object with search, filter, sort, and pagination parameters * @param token - Authentication token * @returns Observable instance for the query results * * @example * const query = new FreeschemaQuery(); * query.type = "BlogPost"; * query.outputFormat = DATAID; * const observer = SchemaQueryListener(query, token); * observer.subscribe((results) => console.log(results)); */ export declare function SchemaQueryListener(query: FreeschemaQuery, token: string): SearchLinkMultipleAllObservable; /** * Executes a free-schema query once without creating a subscription. * @param query - FreeschemaQuery object with search parameters * @param token - Authentication token * @returns Promise resolving to formatted query results */ export declare function SchemaQuery(query: FreeschemaQuery, token: string): Promise;