import { Swiper } from "swiper";
import type { SwiperOptions } from "swiper/types";
export declare const defaultConfig: SwiperOptions;
export default class CarouselHero {
    element: HTMLElement;
    config: SwiperOptions;
    viewport: HTMLElement;
    instance: Swiper;
    tabs: HTMLElement[];
    _dotAnimationJustStarted: boolean;
    _isDragging: boolean;
    private resizeRafId?;
    private _boundTabClick;
    private _boundPrevClick;
    private _boundNextClick;
    private _boundPlayPauseClick;
    private _boundWindowResize;
    constructor(element: HTMLElement, config?: Partial<SwiperOptions>);
    init(): void;
    private _onWindowResize;
    getElements(): void;
    setupConfig(): void;
    createSwiper(): void;
    setupEventListeners(): void;
    private _onUserNavigation;
    _onTabClick(e: Event): void;
    private _onPlayPauseClick;
    private isAutoplayRunning;
    private _stopAutoplayIfRunning;
    private _onAutoplayStart;
    private _onAutoplayStop;
    toggleAutoplay(): void;
    goToSlide(index: number): void;
    updateStates(): void;
    private updatePaginationBullets;
    scrollActiveTabIntoView(activeIndex: number): void;
    updatePlayPauseIcon(): void;
    renderPaginationDots(): void;
    startDotAnimation(force?: boolean): void;
    restartDotAnimation(): void;
    stopDotAnimation(): void;
    private _getPaginationButtons;
    private _getActiveBulletClass;
    private _getActiveBulletButton;
    createSvgDot(): SVGSVGElement;
    hasAutoplay(): boolean;
    getAnimationDuration(): number;
    destroy(): void;
    static getInstance(el: HTMLElement): CarouselHero | null;
}
