import { Value } from "../values/index.js"; import { PaginatedWatch, Watch } from "./client.js"; import { QueryJournal } from "../browser/sync/protocol.js"; import { FunctionReference, FunctionReference_future } from "../server/api.js"; import { PaginatedQueryResult } from "../browser/sync/pagination.js"; import { SubscribeToPaginatedQueryOptions } from "../browser/sync/paginated_query_client.js"; type Identifier = string; type RequestForQueriesCompat = Record | FunctionReference_future<"query">; args: Record; paginationOptions?: SubscribeToPaginatedQueryOptions; }>; export interface CreateWatch { (query: FunctionReference<"query"> | FunctionReference_future<"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: RequestForQueriesCompat): void; subscribe(listener: () => void): () => void; getLocalResults(queries: RequestForQueriesCompat): Record>; setCreateWatch(createWatch: CreateWatch): void; destroy(): void; private addQuery; private removeQuery; private notifyListeners; } export {}; //# sourceMappingURL=queries_observer.d.ts.map