type SlideDimension = { width: number; x: number; } | undefined; interface SlideEl extends HTMLElement { backgroundColor: string; } interface PhysicsConfig { naturalFrequency: number; dampingRatio: number; mass: number; } export default class Gyre { containerEl?: HTMLElement; slideEls: SlideEl[]; height: number; gap: number; borderRadius: number; applyBorderRadiusToContainer: boolean; snapToSlide: boolean; bindToScrollPos: boolean; resizeObserver: ResizeObserver; onSlideChange?: (i: number) => void; onReachEnd?: (atEnd: boolean) => void; startIndex: number; _containerWidth: number; _contentWidth: number; _slideContentEls: HTMLElement[]; _virtualizedSlides: Map; _slideDimensions: SlideDimension[]; _isInitialized: boolean; _loopCount: number; _isDragging: boolean; _isScrolling: boolean; _velocity: number; _settledPosition: number; _currentPosition: number; _targetPosition: number; _maxScrollPosition: number; _points: { start: number; previous: number; }; _momentumArray: []; _flingForce: number; _lastLoopRun: number; _minSlideWidth: number; _adjustment: number; _numInitialSlides: number; _frameRate: number; _shrinkStartMultiplier: number; _windowHeight: number; _containerRect?: DOMRectReadOnly; _scrollProgress: number; _abortScrollCheck: Function; _raf: number; _virtObserver?: IntersectionObserver; atEnd: boolean; anchorSlide: number; constructor({ onSlideChange, onReachEnd, }: { onSlideChange?: (i: number) => void; onReachEnd?: (atEnd: boolean) => void; }); init({ containerEl, slideEls, height, gap, borderRadius, applyBorderRadiusToContainer, snapToSlide, bindToScrollPos, startIndex, }: { containerEl: HTMLElement; slideEls: SlideEl[]; height: number; gap: number; borderRadius: number; applyBorderRadiusToContainer: boolean; snapToSlide: boolean; bindToScrollPos: boolean; startIndex?: number; }): void; handleVirtObserver(entries: IntersectionObserverEntry[]): void; updateSettings({ height, gap, borderRadius, applyBorderRadiusToContainer, snapToSlide, bindToScrollPos, }: { height: number; gap: number; borderRadius: number; applyBorderRadiusToContainer: boolean; snapToSlide: boolean; bindToScrollPos: boolean; }): void; destroy(): void; handleResize(entries: ResizeObserverEntry[]): void; addEventListeners(): void; removeEventListeners(): void; handlePointerdown(e: PointerEvent): void; handlePointermove(e: PointerEvent): void; handlePointerup(): void; updateDimensions(containerWidth?: number | null): void; isAtBoundary(): boolean; getPhysicsConfig(): PhysicsConfig; updatePosition(): void; getClosestSlideToPoint(x: number): { index: number; distanceFromTarget: number; leftEdge: number; cumulativeWidth: number; }; updateScrollPos(): void; getSlidePositions(): { el: HTMLElement; contentEl: HTMLElement; xPos: number; rightClipInset: number; leftClipInset: number; innerTranslate: number; }[]; setVirtualization(slideEl: HTMLElement, index: number, render?: boolean): void; positionSlides(): void; goToSlide(slideIndex: number, animate?: boolean): void; advance(): void; retreat(): void; render(): void; loop(now: number): void; } export {}; //# sourceMappingURL=gyre.d.ts.map