import React from 'react';
import { type CarouselProps } from '../Carousel';
import type { Album } from './types';
export interface AlbumCarouselProps extends Omit<CarouselProps, 'children'> {
    /**
     * Array of albums to display
     */
    albums: Album[];
    /**
     * Callback when an album is selected
     */
    onAlbumSelect?: (album: Album) => void;
    /**
     * Width for each album card
     * @default '272px'
     */
    cardWidth?: string;
    /**
     * Loading state - shows skeleton cards
     * @default false
     */
    loading?: boolean;
    /**
     * Number of skeleton cards to show while loading
     * @default 4
     */
    loadingCardCount?: number;
    /**
     * Error state - shows error message
     * @default false
     */
    error?: boolean;
    /**
     * Custom error title
     * @default 'Failed to load albums'
     */
    errorTitle?: string;
    /**
     * Custom error message
     */
    errorMessage?: string;
    /**
     * Retry callback for error state
     */
    onErrorRetry?: () => void;
    /**
     * Empty state title
     * @default 'No albums yet'
     */
    emptyTitle?: string;
    /**
     * Empty state message
     */
    emptyMessage?: string;
}
/**
 * AlbumCarousel component - Horizontal carousel of album cards.
 *
 * Features:
 * - Uses the existing Carousel component
 * - Renders AlbumCard children
 * - Handles album selection
 * - Customizable card width
 * - Loading, error, and empty states
 * - Consistent state management pattern
 *
 * @example
 * ```tsx
 * <AlbumCarousel
 *   albums={albumsData}
 *   onAlbumSelect={(album) => openViewer(album)}
 *   align="center"
 *   showNavigation
 *   loading={isLoading}
 * />
 * ```
 */
export declare const AlbumCarousel: React.FC<AlbumCarouselProps>;
//# sourceMappingURL=AlbumCarousel.d.ts.map