import * as React from 'react';

interface CarouselPaginationProps {
    /**
     * Handler for scrolling to the previous item
     */
    onPrevious: () => void;
    /**
     * Handler for scrolling to the next item
     */
    onNext: () => void;
    /**
     * Whether the previous button should be disabled
     */
    canScrollPrevious?: boolean;
    /**
     * Whether the next button should be disabled
     */
    canScrollNext?: boolean;
    /**
     * Size of the icon in pixels
     * @default 24
     */
    iconSize?: number;
    /**
     * Additional CSS classes for the container
     */
    className?: string;
    /**
     * Additional CSS classes for the buttons
     */
    buttonClassName?: string;
    /**
     * Icon name for the previous button
     * @default "lucide/arrow-left"
     */
    previousIcon?: string;
    /**
     * Icon name for the next button
     * @default "lucide/arrow-right"
     */
    nextIcon?: string;
    /**
     * Aria label for the previous button
     * @default "Previous"
     */
    previousAriaLabel?: string;
    /**
     * Aria label for the next button
     * @default "Next"
     */
    nextAriaLabel?: string;
}
/**
 * CarouselPagination - Reusable carousel navigation buttons based on AppleCarousel design.
 *
 * Features:
 * - Circular buttons with consistent sizing
 * - Disabled state with reduced opacity
 * - Positioned with flexbox for flexible placement
 * - Works with any carousel implementation
 *
 * @example
 * ```tsx
 * <CarouselPagination
 *   onPrevious={() => scroll("left")}
 *   onNext={() => scroll("right")}
 *   canScrollPrevious={!isAtStart}
 *   canScrollNext={!isAtEnd}
 * />
 * ```
 */
declare function CarouselPagination({ onPrevious, onNext, canScrollPrevious, canScrollNext, iconSize, className, buttonClassName, previousIcon, nextIcon, previousAriaLabel, nextAriaLabel, }: CarouselPaginationProps): React.JSX.Element;

export { CarouselPagination, type CarouselPaginationProps };
