resolvo-cms
Version:
Headless CMS for Resolvo websites with real-time content management
32 lines • 1.34 kB
TypeScript
import { ResolvoCMSClient } from '../ResolvoCMSClient';
import { RealtimeMessage, SubscriptionOptions } from '../../types';
export interface UseRealtimeOptions {
autoConnect?: boolean;
reconnectAttempts?: number;
reconnectDelay?: number;
}
export interface UseRealtimeReturn {
isConnected: boolean;
isConnecting: boolean;
error: Error | null;
connect: () => void;
disconnect: () => void;
subscribe: (schemaId: string, callback: (message: RealtimeMessage) => void) => void;
unsubscribe: (schemaId: string, callback?: (message: RealtimeMessage) => void) => void;
sendMessage: (event: string, data: any) => void;
}
export declare function useRealtime(client: ResolvoCMSClient, options?: UseRealtimeOptions): UseRealtimeReturn;
export declare function useContentSubscription(client: ResolvoCMSClient, schemaId: string, options?: SubscriptionOptions): {
messages: RealtimeMessage[];
lastMessage: RealtimeMessage | null;
isConnected: boolean;
clearMessages: () => void;
};
export declare function useOptimisticRealtime<T>(client: ResolvoCMSClient, schemaId: string, initialData: T): {
optimisticData: T;
serverData: T;
isConnected: boolean;
updateOptimistic: (updates: Partial<T>) => void;
syncWithServer: () => void;
};
//# sourceMappingURL=useRealtime.d.ts.map