import { TemplatesComponent, TemplateFunction } from "@ribajs/core";
import { EventDispatcher } from "@ribajs/events";
import { Bs5Service } from "../../services/index.js";
import { Bs5SlideshowComponentScope, JsxBs5SlideshowProps } from "../../types/index.js";
import { Dragscroll, Autoscroll, ScrollPosition, ScrollEventsService } from "@ribajs/extras";
export declare class Bs5SlideshowComponent extends TemplatesComponent {
    protected resizeObserver?: ResizeObserver;
    protected bs5: Bs5Service;
    protected get slideshowInner(): HTMLElement | null;
    protected get slideElements(): NodeListOf<HTMLElement>;
    protected get controlsElements(): NodeListOf<Element>;
    protected get indicatorsElement(): Element | null;
    static get observedAttributes(): (keyof JsxBs5SlideshowProps)[];
    protected defaultScope: Bs5SlideshowComponentScope;
    static tagName: string;
    protected templateAttributes: ({
        name: string;
        required: boolean;
        type?: undefined;
    } | {
        name: string;
        type: string;
        required: boolean;
    })[];
    protected autobind: boolean;
    protected dragscrollService?: Dragscroll;
    protected continuousAutoplayService?: Autoscroll;
    protected scrollEventsService?: ScrollEventsService;
    protected templateControls: string;
    protected templateIndicators: string;
    protected autoplayIntervalIndex: number | null;
    protected continuousAutoplayIntervalIndex: number | null;
    protected resumeTimer: number | null;
    protected routerEvents: EventDispatcher;
    scope: Bs5SlideshowComponentScope;
    constructor();
    next(): void;
    prev(): void;
    goTo(index: number): void;
    getNextIndex(centeredIndex: number): number;
    getPrevIndex(centeredIndex: number): number;
    scrollToNearestSlide(): void;
    protected scrollToNextSlide(): void;
    protected scrollToPrevSlide(): void;
    protected initOptions(): void;
    protected setOptions(): void;
    protected setControlsOptions(): void;
    protected setIndicatorsOptions(): void;
    protected _onViewChanges(): void;
    protected onViewChanges: (...params: any[]) => Promise<any>;
    protected onVisibilityChanged(event: CustomEvent): void;
    protected _onScroll(): void;
    protected onScroll: (...params: any[]) => Promise<any>;
    protected onScrollend(): void;
    protected onMouseIn(): void;
    protected onMouseOut(): void;
    protected _onMouseUp(): void;
    protected onMouseUp: (...params: any[]) => Promise<unknown>;
    protected _resume(): void;
    protected resume: (...params: any[]) => Promise<unknown>;
    protected connectedCallback(): void;
    protected addEventListeners(): void;
    protected removeEventListeners(): void;
    protected initAll(): void;
    protected beforeBind(): Promise<void>;
    protected afterBind(): Promise<void>;
    protected initSlideshowInner(): void;
    protected enableDesktopDragscroll(): void;
    protected disableDesktopDragscroll(): void;
    enableTouchScroll(): void;
    disableTouchScroll(): void;
    protected enableContinuousAutoplay(): void;
    protected disableContinuousAutoplay(): void;
    protected resetIntervalAutoplay(): void;
    protected enableIntervalAutoplay(): void;
    protected disableIntervalAutoplay(): void;
    protected disableAutoplay(): void;
    protected enableAutoplay(): void;
    protected transformTemplateAttributes(attributes: any, index: number): any;
    protected validateItems(): void;
    protected addItemByTemplate(tpl: HTMLTemplateElement, index: number): void;
    protected addItemsByChilds(): void;
    protected getScrollPosition(): ScrollPosition | null;
    protected getCurrentClosestNumber(goal: number, curr: number, prev: number): number;
    protected getMostCenteredSlideIndex(): number;
    protected setAllSlidesInactive(excludeIndex?: number): void;
    protected setSlideActive(index: number): 0 | undefined;
    protected setCenteredSlideActive(): number;
    protected isScrollableToIndex(index: number): boolean;
    protected setSlidePositions(): void;
    protected requiredAttributes(): string[];
    protected parsedAttributeChangedCallback(attributeName: keyof Bs5SlideshowComponentScope, oldValue: any, newValue: any, namespace: string | null): void;
    protected disconnectedCallback(): void;
    protected template(): ReturnType<TemplateFunction>;
}
