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