import { PropType, DefineComponent, ExtractPropTypes, ComputedRef, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { CarouselAlignment, CarouselArrow, CarouselArrowSlotProps, CarouselContainScroll, CarouselDirection, CarouselEffect, CarouselIndicatorSlotProps, CarouselIndicatorPosition, CarouselIndicatorType, CarouselProgressSlotProps, CarouselProgressPlacement, CarouselThumbSlotProps, CarouselThumbIndicatorType, CarouselThumbPlacement, CarouselTrigger, CarouselType } from './carousel.js';
declare function setActiveItem(index: number | string): void;
declare function prev(): void;
declare function next(): void;
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Readonly<{
        default?: () => unknown;
        indicator?: (props: CarouselIndicatorSlotProps) => unknown;
        "arrow-prev"?: (props: CarouselArrowSlotProps) => unknown;
        "arrow-next"?: (props: CarouselArrowSlotProps) => unknown;
        progress?: (props: CarouselProgressSlotProps) => unknown;
        thumb?: (props: CarouselThumbSlotProps) => unknown;
    }> & {
        default?: () => unknown;
        indicator?: (props: CarouselIndicatorSlotProps) => unknown;
        "arrow-prev"?: (props: CarouselArrowSlotProps) => unknown;
        "arrow-next"?: (props: CarouselArrowSlotProps) => unknown;
        progress?: (props: CarouselProgressSlotProps) => unknown;
        thumb?: (props: CarouselThumbSlotProps) => unknown;
    };
    refs: {
        root: HTMLDivElement;
        viewport: HTMLDivElement;
    };
    rootEl: HTMLDivElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<ExtractPropTypes<{
    initialIndex: {
        type: NumberConstructor;
        default: number;
    };
    activeIndex: {
        type: NumberConstructor;
        default: undefined;
    };
    height: {
        type: StringConstructor;
        default: string;
    };
    trigger: {
        type: PropType<CarouselTrigger>;
        default: string;
    };
    autoplay: {
        type: BooleanConstructor;
        default: boolean;
    };
    interval: {
        type: NumberConstructor;
        default: number;
    };
    indicatorPosition: {
        type: PropType<CarouselIndicatorPosition>;
        default: string;
    };
    arrow: {
        type: PropType<CarouselArrow>;
        default: string;
    };
    type: {
        type: PropType<CarouselType>;
        default: string;
    };
    cardScale: {
        type: NumberConstructor;
        default: number;
    };
    loop: {
        type: BooleanConstructor;
        default: boolean;
    };
    direction: {
        type: PropType<CarouselDirection>;
        default: string;
    };
    pauseOnHover: {
        type: BooleanConstructor;
        default: boolean;
    };
    draggable: {
        type: BooleanConstructor;
        default: boolean;
    };
    effect: {
        type: PropType<CarouselEffect>;
        default: string;
    };
    duration: {
        type: NumberConstructor;
        default: number;
    };
    easing: {
        type: StringConstructor;
        default: string;
    };
    slidesPerView: {
        type: NumberConstructor;
        default: number;
    };
    slidesPerGroup: {
        type: NumberConstructor;
        default: number;
    };
    gap: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    centered: {
        type: BooleanConstructor;
        default: boolean;
    };
    indicatorType: {
        type: PropType<CarouselIndicatorType>;
        default: string;
    };
    thumbs: {
        type: BooleanConstructor;
        default: boolean;
    };
    thumbsPlacement: {
        type: PropType<CarouselThumbPlacement>;
        default: string;
    };
    thumbsPerView: {
        type: NumberConstructor;
        default: number;
    };
    thumbsGap: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    thumbsIndicatorType: {
        type: PropType<CarouselThumbIndicatorType>;
        default: string;
    };
    showProgress: {
        type: BooleanConstructor;
        default: boolean;
    };
    progressPlacement: {
        type: PropType<CarouselProgressPlacement>;
        default: string;
    };
    progressColor: {
        type: StringConstructor;
        default: string;
    };
    align: {
        type: PropType<CarouselAlignment>;
        default: string;
    };
    containScroll: {
        type: PropType<CarouselContainScroll>;
        default: string;
    };
    peek: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    lazy: {
        type: BooleanConstructor;
        default: boolean;
    };
    lazyRange: {
        type: NumberConstructor;
        default: number;
    };
    virtual: {
        type: BooleanConstructor;
        default: boolean;
    };
    virtualBuffer: {
        type: NumberConstructor;
        default: number;
    };
    ariaLabel: {
        type: StringConstructor;
        default: string;
    };
    keyboard: {
        type: BooleanConstructor;
        default: boolean;
    };
}>, {
    activeIndex: ComputedRef<number>;
    setActiveItem: typeof setActiveItem;
    prev: typeof prev;
    next: typeof next;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    change: (current: number, previous: number) => any;
    "update:activeIndex": (value: number) => any;
}, string, PublicProps, Readonly< ExtractPropTypes<{
    initialIndex: {
        type: NumberConstructor;
        default: number;
    };
    activeIndex: {
        type: NumberConstructor;
        default: undefined;
    };
    height: {
        type: StringConstructor;
        default: string;
    };
    trigger: {
        type: PropType<CarouselTrigger>;
        default: string;
    };
    autoplay: {
        type: BooleanConstructor;
        default: boolean;
    };
    interval: {
        type: NumberConstructor;
        default: number;
    };
    indicatorPosition: {
        type: PropType<CarouselIndicatorPosition>;
        default: string;
    };
    arrow: {
        type: PropType<CarouselArrow>;
        default: string;
    };
    type: {
        type: PropType<CarouselType>;
        default: string;
    };
    cardScale: {
        type: NumberConstructor;
        default: number;
    };
    loop: {
        type: BooleanConstructor;
        default: boolean;
    };
    direction: {
        type: PropType<CarouselDirection>;
        default: string;
    };
    pauseOnHover: {
        type: BooleanConstructor;
        default: boolean;
    };
    draggable: {
        type: BooleanConstructor;
        default: boolean;
    };
    effect: {
        type: PropType<CarouselEffect>;
        default: string;
    };
    duration: {
        type: NumberConstructor;
        default: number;
    };
    easing: {
        type: StringConstructor;
        default: string;
    };
    slidesPerView: {
        type: NumberConstructor;
        default: number;
    };
    slidesPerGroup: {
        type: NumberConstructor;
        default: number;
    };
    gap: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    centered: {
        type: BooleanConstructor;
        default: boolean;
    };
    indicatorType: {
        type: PropType<CarouselIndicatorType>;
        default: string;
    };
    thumbs: {
        type: BooleanConstructor;
        default: boolean;
    };
    thumbsPlacement: {
        type: PropType<CarouselThumbPlacement>;
        default: string;
    };
    thumbsPerView: {
        type: NumberConstructor;
        default: number;
    };
    thumbsGap: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    thumbsIndicatorType: {
        type: PropType<CarouselThumbIndicatorType>;
        default: string;
    };
    showProgress: {
        type: BooleanConstructor;
        default: boolean;
    };
    progressPlacement: {
        type: PropType<CarouselProgressPlacement>;
        default: string;
    };
    progressColor: {
        type: StringConstructor;
        default: string;
    };
    align: {
        type: PropType<CarouselAlignment>;
        default: string;
    };
    containScroll: {
        type: PropType<CarouselContainScroll>;
        default: string;
    };
    peek: {
        type: (StringConstructor | NumberConstructor)[];
        default: number;
    };
    lazy: {
        type: BooleanConstructor;
        default: boolean;
    };
    lazyRange: {
        type: NumberConstructor;
        default: number;
    };
    virtual: {
        type: BooleanConstructor;
        default: boolean;
    };
    virtualBuffer: {
        type: NumberConstructor;
        default: number;
    };
    ariaLabel: {
        type: StringConstructor;
        default: string;
    };
    keyboard: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{
    onChange?: ((current: number, previous: number) => any) | undefined;
    "onUpdate:activeIndex"?: ((value: number) => any) | undefined;
}>, {
    height: string;
    arrow: "hover" | "always" | "never";
    keyboard: boolean;
    type: "" | "card";
    loop: boolean;
    effect: "slide" | "fade";
    duration: number;
    pauseOnHover: boolean;
    direction: "vertical" | "horizontal";
    gap: string | number;
    ariaLabel: string;
    align: "start" | "end" | "center";
    autoplay: boolean;
    trigger: "click" | "hover";
    draggable: boolean;
    initialIndex: number;
    activeIndex: number;
    interval: number;
    indicatorPosition: "" | "outside" | "none";
    cardScale: number;
    easing: string;
    slidesPerView: number;
    slidesPerGroup: number;
    centered: boolean;
    indicatorType: "line" | "dot";
    thumbs: boolean;
    thumbsPlacement: "top" | "right" | "bottom" | "left";
    thumbsPerView: number;
    thumbsGap: string | number;
    thumbsIndicatorType: "line" | "dot" | "thumbnail";
    showProgress: boolean;
    progressPlacement: "top" | "bottom" | "indicator";
    progressColor: string;
    containScroll: "trim" | "keep";
    peek: string | number;
    lazy: boolean;
    lazyRange: number;
    virtual: boolean;
    virtualBuffer: number;
}, {}, {}, {}, string, ComponentProvideOptions, true, {
    root: HTMLDivElement;
    viewport: HTMLDivElement;
}, HTMLDivElement>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
