/**
 * ScrollSize type definition for carousel scrolling
 */
export declare type ScrollSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl' | '4xl' | '5xl' | '6xl' | '7xl' | '8xl' | '9xl' | '10xl';
/**
 * Navigation button shape types
 */
export declare type NavButtonShape = 'circle' | 'square' | 'rounded';
/**
 * Navigation button position types
 */
export declare type NavButtonPosition = 'inside' | 'outside' | 'overlap';
/**
 * Navigation controls position types
 */
export declare type NavControlsPosition = 'left' | 'right' | 'center' | 'split';
/**
 * Navigation style configuration
 */
export interface NavigationStyle {
    nextButton?: Record<string, string> | ButtonStyle;
    prevButton?: Record<string, string> | ButtonStyle;
    buttonShape?: NavButtonShape;
    buttonPosition?: NavButtonPosition;
    controlsPosition?: NavControlsPosition;
    zIndex?: string;
    icons?: {
        next?: string;
        prev?: string;
        search?: string;
        vertical?: {
            next?: string;
            prev?: string;
        };
    };
}
/**
 * Indicator style configuration
 */
export interface IndicatorStyle {
    active?: Record<string, string>;
    inactive?: Record<string, string>;
    container?: Record<string, string>;
    spacing?: string;
    transition?: string;
    position?: {
        top?: string;
        bottom?: string;
        left?: string;
        right?: string;
    };
    animation?: {
        enabled?: boolean;
        duration?: string;
        timing?: string;
        type?: 'pulse' | 'none' | 'custom';
        custom?: string;
    };
}
/**
 * Search styling configuration
 */
export interface SearchStyle {
    button?: Record<string, string>;
    modal?: Record<string, string>;
}
/**
 * Empty state configuration
 */
export interface EmptyStateConfig {
    icon?: string;
    text?: string;
    hideIcon?: boolean;
    containerHeight?: string;
    backgroundColor?: string;
    textColor?: string;
}
/**
 * Main carousel configuration interface
 */
export interface CarouselConfig {
    containerWidth?: string;
    containerHeight?: string;
    containerClass?: string;
    containerStyle?: Record<string, string>;
    itemWidth?: string;
    itemHeight?: string;
    itemGap?: string;
    itemClass?: string;
    itemStyle?: Record<string, string>;
    orientation?: 'horizontal' | 'vertical';
    showNavigation?: boolean;
    navigationStyle?: NavigationStyle;
    navigationSize?: string;
    navigationPadding?: string;
    contentPadding?: string;
    animationDuration?: string;
    animationTiming?: string;
    animate?: boolean;
    showIndicators?: boolean;
    indicatorStyle?: IndicatorStyle;
    autoplay?: boolean;
    autoplayDelay?: string;
    loop?: boolean;
    scrollSize?: string | ScrollSize;
    responsive?: boolean;
    singleItemMode?: boolean;
    emptyState?: EmptyStateConfig;
    enableSearch?: boolean;
    searchPlaceholder?: string;
    searchModalTitle?: string;
    searchStyle?: SearchStyle;
}
/**
 * Button style interface for navigation buttons
 */
export interface ButtonStyle {
    backgroundColor?: string;
    color?: string;
    borderRadius?: string;
    padding?: string;
    fontSize?: string;
    border?: string;
    boxShadow?: string;
    top?: string;
    bottom?: string;
    left?: string;
    right?: string;
    zIndex?: string;
    transform?: string;
    position?: string;
    hoverColor?: string;
    hoverBackgroundColor?: string;
    activeColor?: string;
    activeBackgroundColor?: string;
}
