import * as react_jsx_runtime from 'react/jsx-runtime';
import * as React from 'react';
import { O as OptixFlowConfig } from './blocks-BlWXj9GI.js';
import 'class-variance-authority';
import './button-variants-8mtEHxev.js';
import 'class-variance-authority/types';
import '@opensite/hooks/usePlatformFromUrl';

type ImageSliderDirection = "up" | "down";
type ImageSliderTransition = "slide" | "fade";
interface ImageSliderImage {
    /**
     * Image source URL
     */
    src?: string;
    /**
     * Alt text for accessibility
     */
    alt: string;
    /**
     * Additional CSS classes for the image
     */
    className?: string;
    /**
     * Optional per-image OptixFlow configuration
     */
    optixFlowConfig?: OptixFlowConfig;
}
interface ImageSliderProps {
    /**
     * Images to rotate through
     */
    images: ImageSliderImage[];
    /**
     * Optional overlay content rendered above the images
     */
    children?: React.ReactNode;
    /**
     * Enable the default overlay gradient
     * @default true
     */
    overlay?: boolean;
    /**
     * Custom overlay slot (overrides default overlay)
     */
    overlaySlot?: React.ReactNode;
    /**
     * Additional classes for the overlay layer
     */
    overlayClassName?: string;
    /**
     * Additional classes for the slider wrapper
     */
    className?: string;
    /**
     * Additional classes for the image element
     */
    imageClassName?: string;
    /**
     * Additional classes for the content wrapper
     */
    contentClassName?: string;
    /**
     * Enable autoplay rotation
     * @default true
     */
    autoplay?: boolean;
    /**
     * Autoplay interval in milliseconds
     * @default 6000
     */
    autoplayIntervalMs?: number;
    /**
     * Direction for the slide exit animation
     * @default "up"
     */
    direction?: ImageSliderDirection;
    /**
     * Transition style for the slider
     * @default "slide"
     */
    transition?: ImageSliderTransition;
    /**
     * Starting image index
     * @default 0
     */
    startIndex?: number;
    /**
     * Enable keyboard navigation via arrow keys
     * @default true
     */
    enableKeyboard?: boolean;
    /**
     * Optional callback when the slide changes
     */
    onSlideChange?: (index: number) => void;
    /**
     * Global OptixFlow configuration for all images
     */
    optixFlowConfig?: OptixFlowConfig;
}
declare const ImageSlider: ({ images, children, overlay, overlaySlot, overlayClassName, className, imageClassName, contentClassName, autoplay, autoplayIntervalMs, direction, transition, startIndex, enableKeyboard, onSlideChange, optixFlowConfig, }: ImageSliderProps) => react_jsx_runtime.JSX.Element;

export { ImageSlider, type ImageSliderDirection, type ImageSliderImage, type ImageSliderProps, type ImageSliderTransition };
