import * as ComLink from 'comlink'; import { type TriplitClient as Client } from '../client/triplit-client.js'; import { SubscribeBackgroundOptions, ClientFetchOptions, InfiniteSubscription, PaginatedSubscription, SubscriptionOptions, SubscriptionSignalPayload } from '../client/types'; import { ClearOptions, CollectionNameFromModels, CollectionQuery, FetchResult, Models, ReadModel, SchemaQuery, SubscriptionResultsCallback, TransactCallback, UpdatePayload, WriteModel } from '@triplit/db'; import { ClientComlinkWrapper } from './client-comlink-wrapper.js'; import { ClientOptions, ClientTransactOptions, SerializableStorageOptions } from '../client/types/client.js'; import { ConnectionStatus } from '../types.js'; export declare function getTriplitWorkerEndpoint(workerUrl?: string): ComLink.Endpoint; export declare function getTriplitSharedWorkerPort(workerUrl?: string): SharedWorker['port']; export declare class WorkerClient = Models> implements Client { initialized: Promise; clientWorker: ClientComlinkWrapper; private _connectionStatus; private _vars; constructor(options?: Omit, 'storage'> & { workerUrl?: string; storage?: SerializableStorageOptions; }, workerEndpoint?: ComLink.Endpoint, sharedWorkerPort?: MessagePort); get connectionStatus(): ConnectionStatus; query>(collectionName: CN): import("@triplit/db").QueryBuilder, {}>>; fetch>(query: Q, options?: Partial): Promise>; transact, Output>(callback: TransactCallback, options?: Partial): Promise; private getChangesFromUpdatePayload; fetchById>(collectionName: CN, id: string, options?: Partial): Promise>; fetchOne>(query: Q, options?: Partial): Promise>; insert>(collectionName: CN, object: WriteModel): Promise>; update>(collectionName: CN, entityId: string, data: UpdatePayload): Promise; delete>(collectionName: CN, entityId: string): Promise; subscribe>(query: Q, onResults: SubscriptionResultsCallback, onError?: (error: any) => void | Promise, options?: Partial): () => void; subscribeWithStatus>(query: Q, callback: (state: SubscriptionSignalPayload) => void, options?: Partial): () => void; subscribeBackground>(query: Q, options?: SubscribeBackgroundOptions): () => void; /** * Subscribe to a query with helpers for pagination * This query will "oversubscribe" by 1 on either side of the current page to determine if there are "next" or "previous" pages * The window generally looks like [buffer, ...page..., buffer] * Depending on the current paging direction, the query may have its original order reversed * * The pagination will also do its best to always return full pages */ subscribeWithPagination>(query: Q, onResults: (results: FetchResult, info: { hasNextPage: boolean; hasPreviousPage: boolean; }) => void | Promise, onError?: (error: any) => void | Promise, options?: Partial): PaginatedSubscription; subscribeWithExpand>(query: Q, onResults: (results: FetchResult, info: { hasMore: boolean; }) => void | Promise, onError?: (error: any) => void | Promise, options?: Partial): InfiniteSubscription; getSchema(): Promise | undefined>; updateServerUrl(serverUrl: string): Promise; startSession(...args: Parameters['startSession']>): Promise<((() => void) & ComLink.ProxyMarked) | undefined>; endSession(...args: Parameters['endSession']>): Promise; onSessionError(...args: Parameters['onSessionError']>): Promise<(() => void) & ComLink.ProxyMarked>; updateSessionToken(...args: Parameters['updateSessionToken']>): Promise; updateGlobalVariables(vars: Record): Promise; isFirstTimeFetchingQuery(query: CollectionQuery): Promise; onSyncMessageReceived(...args: Parameters): () => Promise; onSyncMessageSent(...args: Parameters): () => Promise; onEntitySyncSuccess(...args: Parameters): () => Promise; onEntitySyncError(...args: Parameters): () => Promise; onFailureToSyncWrites(callback: (e: unknown) => void): () => void; onConnectionStatusChange(callback: (status: ConnectionStatus) => void, runImmediately?: boolean): () => Promise; get vars(): { $token: Record; $global: Record; $session: Record; }; connect(): Promise; disconnect(): Promise; syncWrites(): Promise<{ didSync: boolean; syncFailureReason?: string; }>; clear(options?: ClearOptions): Promise; reset(options?: ClearOptions): Promise; }