import { CarouselConfig } from './types';
export type { CarouselConfig, CarouselSlide } from './types';
export declare class Carousel {
    private readonly containerEl;
    private readonly slides;
    private readonly shouldLoop;
    private readonly showArrows;
    private readonly showDots;
    private readonly pauseOnHover;
    private readonly autoplayInterval;
    private readonly onChangeCallback;
    private readonly className;
    private readonly carouselId;
    private rootEl;
    private trackEl;
    private liveEl;
    private prevBtn;
    private nextBtn;
    private dotEls;
    private currentIndex;
    private autoplayEnabled;
    private autoplayTimer;
    private resizeObserver;
    private destroyed;
    /** Touch tracking */
    private touchStartX;
    private touchStartY;
    private isSwiping;
    /** Bound event handlers for cleanup */
    private readonly handleKeyDown;
    private readonly handleTouchStart;
    private readonly handleTouchEnd;
    private readonly handleMouseEnter;
    private readonly handleMouseLeave;
    constructor(config: CarouselConfig);
    /** Navigate to a specific slide by index */
    goTo(index: number): void;
    /** Go to the next slide */
    next(): void;
    /** Go to the previous slide */
    prev(): void;
    /** Start autoplay */
    play(): void;
    /** Stop autoplay */
    pause(): void;
    /** Remove all elements and listeners */
    destroy(): void;
    /** Build the carousel DOM structure */
    private render;
    /** Update the track CSS transform to show the current slide */
    private updateTrackPosition;
    /** Enable/disable arrow buttons based on current position */
    private updateArrowState;
    /** Update dot active states */
    private updateDotState;
    /** Update the live region for screen reader announcements */
    private updateLiveRegion;
    /** Start the autoplay interval timer */
    private startAutoplayTimer;
    /** Stop the autoplay interval timer */
    private stopAutoplayTimer;
    /** Handle keyboard navigation */
    private onKeyDown;
    /** Handle touch start for swipe detection */
    private onTouchStart;
    /** Handle touch end for swipe detection */
    private onTouchEnd;
}
//# sourceMappingURL=index.d.ts.map