/**
 * Content Carousel Component Types
 * Following BeweOS design rules and AuraUI conventions
 */
/**
 * Translations interface for ContentCarousel component
 * Allows consumers to provide custom translations without imposing a specific i18n system
 */
export interface ContentCarouselTranslations {
    emptyStateMessage?: string;
    emptyStateButtonText?: string;
    previousButtonLabel?: string;
    nextButtonLabel?: string;
    editButtonLabel?: string;
    deleteButtonLabel?: string;
    publishButtonLabel?: string;
    previewButtonLabel?: string;
    goToItemLabel?: string;
}
/**
 * Generic carousel item - minimal required fields
 */
export interface CarouselItem {
    id: string;
    title: string;
    caption?: string;
    imageUrl?: string;
    gradient: string;
    /** Optional chip/badge node shown in the top-right corner (e.g. <Chip>premium</Chip>). Rendered as-is. */
    chipContent?: React.ReactNode;
    [key: string]: any;
}
/**
 * Props for custom render functions (footer/header)
 */
export interface CarouselFooterRenderProps {
    item: CarouselItem;
    isHovered: boolean;
    translations: Required<ContentCarouselTranslations>;
}
/**
 * Props for the ContentCarousel component (Generic)
 */
export interface ContentCarouselProps {
    /** Array of items to display in the carousel */
    items: CarouselItem[];
    /** Callback when an item is clicked */
    onItemClick?: (item: CarouselItem) => void;
    /** Additional CSS classes for the container */
    className?: string;
    /** Path to redirect when empty state button is clicked */
    emptyStateRedirectPath?: string;
    /** Translations for all visible text */
    translations?: ContentCarouselTranslations;
    /** Custom footer render function. If provided, renders footer content */
    renderFooter?: (props: CarouselFooterRenderProps) => React.ReactNode;
    /** Custom header render function for content above the body */
    renderHeader?: (props: CarouselFooterRenderProps) => React.ReactNode;
    /** Custom body render function to completely customize card content */
    renderBody?: (item: CarouselItem, isHovered: boolean) => React.ReactNode;
    /** Si true, se muestra el chip en la esquina superior derecha para cada ítem que tenga item.chipContent. */
    haveChip?: boolean;
}
/**
 * Internal props for individual carousel item component
 * @internal
 */
export interface CarouselItemComponentProps {
    item: CarouselItem;
    position: "center" | "left" | "right" | "hidden";
    breakpoint: "mobile" | "tablet" | "desktop";
    onClick: () => void;
    translations: Required<ContentCarouselTranslations>;
    renderFooter?: (props: CarouselFooterRenderProps) => React.ReactNode;
    renderHeader?: (props: CarouselFooterRenderProps) => React.ReactNode;
    renderBody?: (item: CarouselItem, isHovered: boolean) => React.ReactNode;
    haveChip?: boolean;
    swipeOffset: number;
}
//# sourceMappingURL=ContentCarousel.types.d.ts.map