import { Component, TemplateFunction, ScopeBase } from "@ribajs/core";
import { Carousel } from "../../services/carousel.js";
import { CarouselOptions } from "../../types/index.js";
export interface Scope extends ScopeBase {
    interval: CarouselOptions["interval"];
    keyboard: CarouselOptions["keyboard"];
    pause: CarouselOptions["pause"];
    wrap: CarouselOptions["wrap"];
    touch: CarouselOptions["touch"];
    fade: boolean;
    next: Bs5CarouselComponent["next"];
    nextWhenVisible: Bs5CarouselComponent["nextWhenVisible"];
    prev: Bs5CarouselComponent["prev"];
    startPause: Bs5CarouselComponent["pause"];
    cycle: Bs5CarouselComponent["cycle"];
    to: Bs5CarouselComponent["to"];
    dispose: Bs5CarouselComponent["dispose"];
}
export declare class Bs5CarouselComponent extends Component {
    static tagName: string;
    static get observedAttributes(): string[];
    protected requiredAttributes(): string[];
    scope: Scope;
    protected autobind: boolean;
    protected carouselService?: Carousel;
    constructor();
    protected beforeBind(): Promise<void>;
    protected afterBind(): Promise<void>;
    next(): void;
    nextWhenVisible(): void;
    prev(): void;
    pause(): void;
    cycle(): void;
    to(): void;
    dispose(): void;
    protected connectedCallback(): void;
    protected template(): ReturnType<TemplateFunction>;
}
