/**
 * Pagination Component
 *
 * Displays pagination controls for search results.
 * Supports three display variants: numbered, load-more, and simple.
 *
 * CSS Variables (applied to the container element):
 *   --seekora-pagination-bg
 *   --seekora-pagination-color
 *   --seekora-pagination-active-bg
 *   --seekora-pagination-active-color
 *   --seekora-pagination-border
 *   --seekora-pagination-radius
 */
import React from 'react';
import type { SearchResponse } from '@seekora-ai/search-sdk';
export interface PaginationTheme {
    container?: string;
    list?: string;
    item?: string;
    itemActive?: string;
    itemDisabled?: string;
    link?: string;
    ellipsis?: string;
    /** Class for the Load More button */
    loadMoreButton?: string;
    /** Class for the Load More descriptive text (e.g. "X remaining") */
    loadMoreText?: string;
    /** Class for the simple variant outer container */
    simpleContainer?: string;
    /** Class for the "Page X of Y" text in the simple variant */
    simpleText?: string;
    /** Class for Previous/Next buttons in the simple variant */
    simpleButton?: string;
    /** Class for the "Page X of Y" info text (usable in any variant) */
    pageInfo?: string;
}
export interface PaginationProps {
    /** Search results response */
    results?: SearchResponse | null;
    /** Current page number (1-indexed) */
    currentPage?: number;
    /** Items per page */
    itemsPerPage?: number;
    /** Total number of pages */
    totalPages?: number;
    /** Callback when page changes */
    onPageChange?: (page: number) => void;
    /** Maximum number of page buttons to show */
    maxPages?: number;
    /** Show first/last page buttons */
    showFirstLast?: boolean;
    /** Show previous/next buttons */
    showPrevNext?: boolean;
    /** Custom render function for page button */
    renderPageButton?: (page: number, isActive: boolean, isDisabled: boolean) => React.ReactNode;
    /** Custom className */
    className?: string;
    /** Custom styles */
    style?: React.CSSProperties;
    /** Custom theme */
    theme?: PaginationTheme;
    /**
     * Display variant.
     * - 'numbered' (default): numbered page buttons with prev/next
     * - 'load-more': single "Load More" button
     * - 'simple': Previous / Next buttons with "Page X of Y" text
     */
    variant?: 'numbered' | 'load-more' | 'simple';
    /** Label for the Load More button (default: "Load More") */
    loadMoreText?: string;
    /**
     * Button / text sizing.
     * - 'small': compact
     * - 'medium' (default): standard
     * - 'large': spacious
     */
    size?: 'small' | 'medium' | 'large';
    /**
     * Show "Page X of Y" text.
     * Defaults to false for numbered, true for simple.
     */
    showPageInfo?: boolean;
    /** Label for the Previous button (default: "Previous") */
    previousLabel?: string;
    /** Label for the Next button (default: "Next") */
    nextLabel?: string;
}
export declare const Pagination: React.FC<PaginationProps>;
//# sourceMappingURL=Pagination.d.ts.map