import { ResolvoCMSClient } from '../ResolvoCMSClient';
import { CMSContent, CreateContentRequest, UpdateContentRequest } from '../../types';
export interface UseContentOptions {
    schemaId?: string;
    contentId?: string;
    isPublished?: boolean;
    autoConnect?: boolean;
    realtime?: boolean;
}
export interface UseContentReturn {
    content: CMSContent | null;
    contentList: CMSContent[];
    loading: boolean;
    error: Error | null;
    createContent: (data: CreateContentRequest) => Promise<CMSContent>;
    updateContent: (contentId: string, updates: UpdateContentRequest) => Promise<CMSContent>;
    deleteContent: (contentId: string) => Promise<void>;
    publishContent: (contentId: string) => Promise<CMSContent>;
    refresh: () => Promise<void>;
}
export declare function useContent(client: ResolvoCMSClient, options?: UseContentOptions): UseContentReturn;
export declare function useOptimisticContent(client: ResolvoCMSClient, options?: UseContentOptions): {
    content: CMSContent | null;
    updateContent: (contentId: string, updates: UpdateContentRequest) => Promise<CMSContent>;
    contentList: CMSContent[];
    loading: boolean;
    error: Error | null;
    createContent: (data: CreateContentRequest) => Promise<CMSContent>;
    deleteContent: (contentId: string) => Promise<void>;
    publishContent: (contentId: string) => Promise<CMSContent>;
    refresh: () => Promise<void>;
};
//# sourceMappingURL=useContent.d.ts.map