import { type ContentFetchOptions } from '../utils';
import type { CmsContent } from '../types';
export interface UseCmsContentOptions extends ContentFetchOptions {
    contentType?: string;
    initialData?: CmsContent | null;
    enabled?: boolean;
    suspense?: boolean;
    staleTime?: number;
    cacheTime?: number;
    refetchOnWindowFocus?: boolean;
    refetchOnReconnect?: boolean;
    onSuccess?: (data: CmsContent) => void;
    onError?: (error: Error) => void;
}
export interface UseCmsContentResult {
    content: CmsContent | null;
    isLoading: boolean;
    isError: boolean;
    error: Error | null;
    isFetching: boolean;
    isStale: boolean;
    refetch: () => Promise<void>;
    reset: () => void;
}
/**
 * React hook for fetching CMS content by slug with comprehensive state management
 */
export declare function useCmsContent(slug: string | null, options?: UseCmsContentOptions): UseCmsContentResult;
/**
 * React hook for fetching CMS content by ID
 */
export declare function useCmsContentById(id: string | null, options?: Omit<UseCmsContentOptions, 'contentType'>): UseCmsContentResult;
//# sourceMappingURL=useCmsContent.d.ts.map