import { EmblaCarouselType } from "embla-carousel"; export type LsgHeroControllerTransition = "slide" | "fade"; export interface LsgHeroControllerOptions { /** Slide transition style. Defaults to "slide". */ transition?: LsgHeroControllerTransition; /** Enable autoplay. Defaults to true. */ autoplay?: boolean; /** Autoplay interval in milliseconds. Defaults to 5000. */ autoplayInterval?: number; } export interface LsgHeroControllerElements { /** Previous-slide button. */ prevBtn?: HTMLElement | null; /** Next-slide button. */ nextBtn?: HTMLElement | null; /** Scroll-down trigger button. */ scrollDownBtn?: HTMLElement | null; /** Element to scroll into view when scroll-down is triggered. */ scrollDownTarget?: HTMLElement | null; } export declare class LsgHeroController { private embla; private autoplayTimer; private contentObserver; private rafId; private readonly opts; private readonly els; constructor(viewport: HTMLElement, elements?: LsgHeroControllerElements, options?: LsgHeroControllerOptions); private mount; readonly scrollPrev: () => void; readonly scrollNext: () => void; private readonly handleScrollDown; /** Start the autoplay interval (resets any existing timer). */ readonly startAutoplay: () => void; /** Clear the autoplay interval. */ readonly stopAutoplay: () => void; /** Direct access to the underlying Embla instance for advanced usage. */ get emblaApi(): EmblaCarouselType | null; /** Tear down event listeners, autoplay, and the Embla instance. */ destroy(): void; }