import { Value } from "../values/index.js"; import { PaginatedWatch, Watch } from "./client.js"; import { QueryJournal } from "../browser/sync/protocol.js"; import { FunctionReference } from "../server/api.js"; import { RequestForQueries } from "./use_queries.js"; import { PaginatedQueryResult } from "../browser/sync/pagination.js"; import { SubscribeToPaginatedQueryOptions } from "../browser/sync/paginated_query_client.js"; type Identifier = string; export interface CreateWatch { (query: FunctionReference<"query">, args: Record, options: { journal?: QueryJournal; paginationOptions?: SubscribeToPaginatedQueryOptions; }): Watch | PaginatedWatch; } /** * A class for observing the results of multiple queries at the same time. * * Any time the result of a query changes, the listeners are notified. */ export declare class QueriesObserver { createWatch: CreateWatch; private queries; private listeners; constructor(createWatch: CreateWatch); setQueries(newQueries: Record; args: Record; paginationOptions?: SubscribeToPaginatedQueryOptions; }>): void; subscribe(listener: () => void): () => void; getLocalResults(queries: RequestForQueries): Record>; setCreateWatch(createWatch: CreateWatch): void; destroy(): void; private addQuery; private removeQuery; private notifyListeners; } export {}; //# sourceMappingURL=queries_observer.d.ts.map