/** * KTUI - Free & Open-Source Tailwind UI Components by Keenthemes * Copyright 2025 by Keenthemes Inc */ import KTComponent from '../component'; import { KTCarouselConfigInterface, KTCarouselInterface } from './types'; declare global { interface Window { KTCarousel: typeof KTCarousel; } } export declare class KTCarousel extends KTComponent implements KTCarouselInterface { protected _name: string; protected _defaultConfig: KTCarouselConfigInterface; protected _config: KTCarouselConfigInterface; private _viewport; private _slides; private _index; private _autoplayTimer; private _programmaticScroll; private _resizeObserver; private _prefersReducedMotion; private _onPrevClick; private _onNextClick; private _onScroll; private _onScrollEnd; private _onKeyDown; private _onPointerDown; private _onPointerMove; private _onPointerUp; private _paginationHandlers; private _thumbHandlers; private _programmaticScrollPrevIndex; private _programmaticScrollTargetIndex; private _programmaticScrollUserInitiated; private _programmaticScrollFallbackTimer; private _scrollSyncRaf; private _pauseAutoplay; private _resumeAutoplay; private _dragStartX; private _dragStartScroll; private _dragging; private _dragMoved; private _pointerId; private _prevButtons; private _nextButtons; private _currentLabels; private _totalLabels; constructor(element: HTMLElement, config?: Partial | null); private _readPrefersReducedMotion; private _syncShowScrollbarAttribute; private static _resolveViewportStatic; private static _collectSlidesStatic; private _isRtl; private _scrollBehavior; private _effectiveDraggable; private _bindControls; private _bindIndexedClickStrips; private _bindScrollSync; private _bindKeyboard; private _bindAutoplayHoverPause; private _bindDraggable; private _bindAutoHeight; private _observeActiveSlideForHeight; private _applyAutoHeight; private _nearestIndex; private _syncIndexFromScroll; private _applyScrollDerivedIndexChange; private _setStripItemsActiveState; /** * Scroll the viewport only. Avoid `Element.scrollIntoView`, which walks * ancestor scroll containers and can pull the whole docs page to an embedded * carousel (e.g. autoplay ticking on `/docs/carousel`). */ private _scrollToIndex; private _clearProgrammaticScrollFallbackTimer; private _completeProgrammaticScroll; goTo(index: number, userInitiated?: boolean): void; next(userInitiated?: boolean): void; prev(userInitiated?: boolean): void; getIndex(): number; getSlideCount(): number; private _getChangeEventName; private _dispatchChange; private _updateInfo; private _updatePaginationState; private _updateThumbState; /** * Keep the active thumb visible inside each thumbnail strip by scrolling * that container only (no `scrollIntoView`, which can scroll ancestor pages). */ private _scrollActiveThumbnailsIntoView; private _alignElementInScrollContainer; private _startAutoplay; private _stopAutoplay; dispose(): void; static getInstance(element: HTMLElement): KTCarousel | null; static getOrCreateInstance(element: HTMLElement, config?: Partial): KTCarousel | null; static createInstances(): void; static init(): void; } //# sourceMappingURL=carousel.d.ts.map