import { ReactNode } from "react";
interface PersistentPaginationProps {
    /**
     * Whether pagination is currently in a loading state
     */
    isLoading: boolean;
    /**
     * The pagination component
     */
    children: ReactNode;
    /**
     * Current page number
     */
    currentPage: number;
    /**
     * Total number of pages
     */
    totalPages: number;
    /**
     * Additional CSS classes
     */
    className?: string;
    /**
     * Disabled opacity (0-1)
     */
    disabledOpacity?: number;
    /**
     * Transition duration in milliseconds
     */
    transitionDuration?: number;
    /**
     * Whether to show loading state in pagination
     */
    showLoadingState?: boolean;
}
/**
 * PersistentPagination
 *
 * A wrapper component that keeps pagination visible during loading states
 * but provides visual feedback that it's temporarily disabled.
 *
 * Features:
 * - Maintains pagination visibility during content loading
 * - Disables interaction but preserves layout
 * - Shows current page context even when loading
 * - Provides accessibility support for loading states
 * - Smooth transitions between enabled/disabled states
 *
 * Usage:
 * ```tsx
 * <PersistentPagination
 *   isLoading={isLoadingVendors}
 *   currentPage={currentPage}
 *   totalPages={totalPages}
 * >
 *   <Pagination currentPage={currentPage} totalPages={totalPages} />
 * </PersistentPagination>
 * ```
 */
export declare function PersistentPagination({ isLoading, children, currentPage, totalPages, className, disabledOpacity, transitionDuration, showLoadingState, }: PersistentPaginationProps): import("react/jsx-runtime").JSX.Element;
/**
 * Hook for managing pagination loading states
 */
export declare function usePaginationLoading(isLoading: boolean, currentPage: number, totalPages: number): {
    shouldShowPagination: boolean;
    paginationProps: {
        'aria-busy': boolean;
        'data-loading': boolean;
        'data-current-page': number;
        'data-total-pages': number;
    };
    getLoadingMessage: () => string;
};
/**
 * Enhanced pagination component that includes loading states
 */
interface PersistentPaginationWrapperProps {
    isLoading: boolean;
    currentPage: number;
    totalPages: number;
    onPageChange?: (page: number) => void;
    className?: string;
    variant?: 'vendor' | 'blog';
}
export declare function PersistentPaginationWrapper({ isLoading, currentPage, totalPages, onPageChange, className, variant }: PersistentPaginationWrapperProps): import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=persistent-pagination.d.ts.map