UNPKG

@klastra/ksync

Version:

Real-time sync engine for modern applications with 300k+ ops/sec performance

51 lines 1.95 kB
import React, { ReactNode } from 'react'; import { KSync } from '../core.js'; export declare function useKSync(config?: { room?: string; serverUrl?: string; userId?: string; debug?: boolean; }): { ksync: KSync; send: (type: string, data: any) => Promise<void>; state: any; isConnected: boolean; isOnline: boolean; }; export declare function useKSyncEvent<T = any>(ksync: KSync, eventType: string, dependencies?: any[]): T[]; export declare function useKSyncSend(ksync: KSync): { send: (eventType: string, data: any) => Promise<void>; isSending: boolean; error: Error | null; }; export declare function useKSyncState<T = any>(ksync: KSync, materializerName?: string, dependencies?: any[]): T | undefined; export declare function useKSyncPresence(ksync: KSync, initialData?: Record<string, any>): { presence: {}; myPresence: Record<string, any>; updatePresence: (data: Record<string, any>) => void; }; export declare function useKSyncStream(ksync: KSync, streamId?: string): { content: string; isComplete: boolean; isStreaming: boolean; startStream: (options?: any) => Promise<void>; sendChunk: (id: string, chunk: string) => Promise<void>; }; export declare function useKSyncOptimistic<T>(ksync: KSync, eventType: string, optimisticUpdater: (currentData: T[], newData: any) => T[]): { data: T[]; pendingCount: number; sendOptimistic: (data: any, tempId?: string) => Promise<void>; }; export declare function useKSyncConnection(ksync: KSync): { isConnected: boolean; isConnecting: boolean; error: Error | null; connect: () => Promise<void>; disconnect: () => Promise<void>; }; export declare function KSyncProvider({ ksync, children }: { ksync: KSync; children: ReactNode; }): React.FunctionComponentElement<React.ProviderProps<KSync | null>>; export declare function useKSyncContext(): KSync; //# sourceMappingURL=index.d.ts.map