## API Report File for "@tldraw/sync" > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). ```ts import { Editor } from 'tldraw'; import { TLAssetStore } from 'tldraw'; import { TLObjectStoreAccess } from '@tldraw/sync-core'; import { TLPersistentClientSocket } from '@tldraw/sync-core'; import { TLPresenceStateInfo } from 'tldraw'; import { TLStore } from 'tldraw'; import { TLStoreSchemaOptions } from 'tldraw'; import { TLStoreWithStatus } from 'tldraw'; import { TLThemes } from 'tldraw'; import { TLUser } from 'tldraw'; import { TLUserStore } from 'tldraw'; // @public export type RemoteTLStoreWithStatus = (Extract & { readonly objectAccess: TLObjectStoreAccess; }) | Exclude; // @public export function useSync(opts: UseSyncOptions & TLStoreSchemaOptions): RemoteTLStoreWithStatus; // @public (undocumented) export type UseSyncConnectFn = (query: { sessionId: string; storeId: string; }) => TLPersistentClientSocket; // @public export function useSyncDemo(options: UseSyncDemoOptions & TLStoreSchemaOptions): RemoteTLStoreWithStatus; // @public (undocumented) export interface UseSyncDemoOptions { // Warning: (ae-unresolved-inheritdoc-reference) The @inheritDoc reference could not be resolved: No member was found with name "getUserPresence" // // (undocumented) getUserPresence?(store: TLStore, user: TLUser): null | TLPresenceStateInfo; // @internal (undocumented) host?: string; roomId: string; users?: TLUserStore; } // @public export type UseSyncOptions = UseSyncOptionsWithConnectFn | UseSyncOptionsWithUri; // @public export interface UseSyncOptionsBase { assets: TLAssetStore; getUserPresence?(store: TLStore, user: TLUser): null | TLPresenceStateInfo; onCustomMessageReceived?(data: any): void; // @internal (undocumented) onMount?(editor: Editor): void; // @internal roomId?: string; themes?: Partial; // @internal (undocumented) trackAnalyticsEvent?(name: string, data: { [key: string]: any; }): void; users?: TLUserStore; } // @public (undocumented) export interface UseSyncOptionsWithConnectFn extends UseSyncOptionsBase { connect: UseSyncConnectFn; // (undocumented) uri?: never; } // @public (undocumented) export interface UseSyncOptionsWithUri extends UseSyncOptionsBase { // (undocumented) connect?: never; uri: (() => Promise | string) | string; } export * from "@tldraw/sync-core"; // (No @packageDocumentation comment for this package) ```