import { BootstrapElement } from '@bootstrap-wc/core'; /** * `` — slideshow component. Host carries `.carousel.slide` (+ * `.carousel-fade` / `.carousel-dark` modifiers) so Bootstrap's selectors * (e.g. `.carousel-fade .carousel-item`) match the slotted items via * flat-tree projection. * * Shape: * * * ... * ... * * * The component owns its own slide / interval / focus / keyboard logic — * no `bootstrap.bundle.min.js` required. `next()`, `prev()`, `to(index)`, * `pause()`, `cycle()` are exposed as imperative methods. * * @fires bs-slide - Before a slide transition starts. Detail: `{from, to, direction}`. * @fires bs-slid - After a slide transition completes. Detail: `{from, to, direction}`. */ export declare class BsCarousel extends BootstrapElement { /** Auto-advance interval in ms; `0` disables auto-cycling. */ interval: number; /** Render previous/next chrome buttons. */ controls: boolean; /** Render the indicator dots row. */ indicators: boolean; /** * Hide the previous/next chrome buttons. `controls` is presence-based * (a non-empty `controls="false"` still resolves truthy on a Lit Boolean * attribute), so this opt-out boolean is the way to hide them in * declarative HTML. */ noControls: boolean; /** Opt-out counterpart for `indicators` (see `no-controls`). */ noIndicators: boolean; /** Use `.carousel-fade` instead of slide animation. */ fade: boolean; /** Use `.carousel-dark` for dark variant chrome. (Bootstrap 5.3 deprecated; prefer data-bs-theme="dark".) */ dark: boolean; /** Pause auto-cycling on hover. */ pauseOnHover: boolean; /** Wrap from last back to first when advancing. */ wrap: boolean; /** Touch / swipe support. */ touch: boolean; private _activeIndex; private _intervalId; private _isHovered; private _animating; private _items; connectedCallback(): void; disconnectedCallback(): void; updated(changed: Map): void; protected hostClasses(): string; /** Show the next slide. */ next(): void; /** Show the previous slide. */ prev(): void; /** * Show a specific slide by index. The `direction` is inferred from index * comparison unless the carousel is animating, in which case it's queued * after the current animation. */ to(index: number): void; /** Pause auto-cycling. */ pause(): void; /** Resume auto-cycling using the configured `interval`. */ cycle(): void; private _initActiveFromDom; private _slideTo; private _startCycle; private _stopCycle; private _onMouseEnter; private _onMouseLeave; private _onKeydown; private _touchStartX; private _touchEndX; private _onTouchStart; private _onTouchEnd; private _wireTouch; private _unwireTouch; private _onIndicatorClick; render(): import("lit-html").TemplateResult<1>; } export { BsCarouselItem } from './carousel-item.js'; import './carousel-item.js'; declare global { interface HTMLElementTagNameMap { 'bs-carousel': BsCarousel; } } //# sourceMappingURL=carousel.d.ts.map