import { PropertyValueMap } from "lit";
import { FRoot } from "./../../mixins/components/f-root/f-root";
import { FDiv } from "../f-div/f-div";
import { FCarouselContent } from "../f-carousel-content/f-carousel-content";
import { FIcon } from "../f-icon/f-icon";
export declare class FCarousel extends FRoot {
    /**
     * css loaded from scss file
     */
    static styles: import("lit").CSSResult[];
    /**
     * @attribute  provide `f-corousel-content` content-id for activation
     */
    activeContentId?: string;
    /**
     * @attribute  it will auto-play all content in loop
     */
    autoPlay?: boolean;
    /**
     * @attribute  it will auto-play all content in loop
     */
    autoPlayInterval?: number;
    slides: HTMLElement;
    slider: HTMLElement;
    dots: HTMLElement;
    nextArrow: FIcon;
    progress?: FDiv;
    prevArrow: FIcon;
    activeSlide?: HTMLElement | null;
    slideElements?: NodeListOf<FCarouselContent>;
    handleNavigation(type?: "next" | "prev"): void;
    handleTransitionEnd(): void;
    render(): import("lit-html").TemplateResult<1>;
    protected updated(changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): Promise<void>;
    removeClonnedSlides(): void;
    checkAutoPlay(): void;
    handleProgressEnd(): void;
    emitNavigationEvent(type: "next" | "prev", contentId: string): void;
    jumpTo(contentId: string): void;
    getSlideIndex(slide: HTMLElement): number;
    slideTransition(slideIndex: number, duration?: number): void;
    renderDots(): void;
    updateDots(activeIndex?: number | null): void;
}
/**
 * Required for typescript
 */
declare global {
    export interface HTMLElementTagNameMap {
        "f-carousel": FCarousel;
    }
}
