import React, { ReactNode } from 'react';
import { CollaborationOptions, CollaborationState, CollaborationUser } from '../client/useCollaboration';
interface CollaborationContextValue {
    state: CollaborationState;
    connect: () => void;
    disconnect: () => void;
    updateField: (field: string, value: any) => void;
    updateCursor: (field: string, position: number, selection?: {
        start: number;
        end: number;
    }) => void;
    updateAwareness: (awareness: any) => void;
    getValue: (field: string) => any;
    activeUsers: CollaborationUser[];
    isConnected: boolean;
    hasUnsavedChanges: boolean;
    documentId: string;
    documentType: 'task' | 'project';
}
interface CollaborationProviderProps {
    children: ReactNode;
    options: CollaborationOptions;
}
/**
 * Collaboration Provider Component
 * Provides collaboration context to child components
 */
export declare const CollaborationProvider: React.FC<CollaborationProviderProps>;
/**
 * Hook to use collaboration context
 */
export declare const useCollaborationContext: () => any;
/**
 * HOC to inject collaboration props
 */
export declare function withCollaboration<P extends object>(Component: React.ComponentType<P & CollaborationContextValue>): React.FC<P>;
/**
 * Collaboration-aware section component
 */
interface CollaborativeSectionProps {
    sectionId: string;
    children: ReactNode;
    trackActivity?: boolean;
    className?: string;
}
export declare const CollaborativeSection: React.FC<CollaborativeSectionProps>;
export {};
//# sourceMappingURL=CollaborationProvider.d.ts.map