/**
 * React hooks for interacting with the Ordinals API
 */
import { InscriptionData } from '../types/inscription';
export interface UseOrdinalsApiOptions {
    userNodeUrl?: string;
    ordinalsUrl?: string;
    autoFetch?: boolean;
}
export interface UseInscriptionsResult {
    inscriptions: InscriptionData[];
    loading: boolean;
    error: string | null;
    hasMore: boolean;
    currentPage: number;
    source: 'user-node' | 'ordinals.com' | null;
    fetchInscriptions: (page?: number) => Promise<void>;
    fetchInscriptionsByIds: (ids: string[]) => Promise<void>;
    fetchInscriptionsByAddress: (address: string) => Promise<void>;
    fetchInscriptionChildren: (inscriptionId: string, page?: number) => Promise<void>;
    fetchInscriptionParents: (inscriptionId: string, page?: number) => Promise<void>;
    clearInscriptions: () => void;
    refetch: () => Promise<void>;
}
/**
 * Hook for fetching and managing inscriptions data
 */
export declare function useInscriptions(options?: UseOrdinalsApiOptions): UseInscriptionsResult;
export interface UseInscriptionResult {
    inscription: InscriptionData | null;
    loading: boolean;
    error: string | null;
    source: 'user-node' | 'ordinals.com' | null;
    fetchInscription: (inscriptionId: string) => Promise<void>;
    fetchInscriptionContent: (inscriptionId: string) => Promise<void>;
    content: any;
    metadata: string | null;
}
/**
 * Hook for fetching a single inscription with its details
 */
export declare function useInscription(): UseInscriptionResult;
export interface UseBlockResult {
    block: any;
    inscriptions: InscriptionData[];
    loading: boolean;
    error: string | null;
    source: 'user-node' | 'ordinals.com' | null;
    fetchBlock: (blockHashOrHeight: string | number) => Promise<void>;
    fetchBlockInscriptions: (blockHeight: number) => Promise<void>;
}
/**
 * Hook for fetching block data and its inscriptions
 */
export declare function useBlock(): UseBlockResult;
//# sourceMappingURL=useOrdinalsApi.d.ts.map