Back to Tldraw

Api Report.Api

packages/sync/api-report.api.md

4.5.112.5 KB
Original Source

API Report File for "@tldraw/sync"

Do not edit this file. It is a report generated by API Extractor.

ts

import { Editor } from 'tldraw';
import { Signal } from 'tldraw';
import { TLAssetStore } from 'tldraw';
import { TLPersistentClientSocket } from '@tldraw/sync-core';
import { TLPresenceStateInfo } from 'tldraw';
import { TLPresenceUserInfo } from 'tldraw';
import { TLStore } from 'tldraw';
import { TLStoreSchemaOptions } from 'tldraw';
import { TLStoreWithStatus } from 'tldraw';

// @public
export type RemoteTLStoreWithStatus = Exclude<TLStoreWithStatus, {
    status: 'not-synced';
} | {
    status: 'synced-local';
}>;

// @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: TLPresenceUserInfo): null | TLPresenceStateInfo;
    // @internal (undocumented)
    host?: string;
    roomId: string;
    userInfo?: Signal<TLPresenceUserInfo> | TLPresenceUserInfo;
}

// @public
export type UseSyncOptions = UseSyncOptionsWithConnectFn | UseSyncOptionsWithUri;

// @public
export interface UseSyncOptionsBase {
    assets: TLAssetStore;
    getUserPresence?(store: TLStore, user: TLPresenceUserInfo): null | TLPresenceStateInfo;
    onCustomMessageReceived?(data: any): void;
    // @internal (undocumented)
    onMount?(editor: Editor): void;
    // @internal
    roomId?: string;
    // @internal (undocumented)
    trackAnalyticsEvent?(name: string, data: {
        [key: string]: any;
    }): void;
    userInfo?: Signal<TLPresenceUserInfo> | TLPresenceUserInfo;
}

// @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) | string;
}


export * from "@tldraw/sync-core";

// (No @packageDocumentation comment for this package)