import * as vue from 'vue'; import { Ref, VNode } from 'vue'; interface Data$1 { [key: string]: unknown } declare const SNAP_ALIGN_OPTIONS = ['center', 'start', 'end', 'center-even', 'center-odd'] declare const BREAKPOINT_MODE_OPTIONS = ['viewport', 'carousel'] declare const DIR_OPTIONS = [ 'ltr', 'left-to-right', 'rtl', 'right-to-left', 'ttb', 'top-to-bottom', 'btt', 'bottom-to-top', ] declare const I18N_DEFAULT_CONFIG = { ariaNextSlide: 'Navigate to next slide', ariaPreviousSlide: 'Navigate to previous slide', ariaNavigateToSlide: 'Navigate to slide {slideNumber}', ariaGallery: 'Gallery', itemXofY: 'Item {currentSlide} of {slidesCount}', iconArrowUp: 'Arrow pointing upwards', iconArrowDown: 'Arrow pointing downwards', iconArrowRight: 'Arrow pointing to the right', iconArrowLeft: 'Arrow pointing to the left', } type Breakpoints = { [key: number]: Partial } type SnapAlign = (typeof SNAP_ALIGN_OPTIONS)[number] type Dir = (typeof DIR_OPTIONS)[number] type BreakpointMode = (typeof BREAKPOINT_MODE_OPTIONS)[number] type I18nKeys = keyof typeof I18N_DEFAULT_CONFIG interface CarouselConfig { enabled: boolean itemsToShow: number itemsToScroll: number modelValue?: number transition?: number gap: number autoplay?: number snapAlign: SnapAlign wrapAround?: boolean pauseAutoplayOnHover?: boolean mouseDrag?: boolean touchDrag?: boolean dir?: Dir breakpointMode?: string breakpoints?: Breakpoints height: string | number i18n: { [key in I18nKeys]?: string } } interface CarouselNav { slideTo: (index: number) => void next: () => void prev: () => void } interface CarouselData { config: CarouselConfig slidesCount: Ref slideSize: Ref currentSlide: Ref maxSlide: Ref minSlide: Ref middleSlide: Ref } interface CarouselMethods extends CarouselNav { updateBreakpointsConfig: () => void updateSlidesData: () => void updateSlideSize: () => void restartCarousel: () => void } interface CarouselExposed extends CarouselMethods { nav: CarouselNav data: CarouselData } declare const _default$1: vue.DefineComponent<{ enabled: boolean; itemsToShow: number; itemsToScroll: number; modelValue?: number | undefined; transition?: number | undefined; gap: number; autoplay?: number | undefined; snapAlign: SnapAlign; wrapAround?: boolean | undefined; pauseAutoplayOnHover?: boolean | undefined; mouseDrag?: boolean | undefined; touchDrag?: boolean | undefined; dir?: Dir | undefined; breakpointMode?: string | undefined; breakpoints?: Breakpoints | undefined; height: string | number; i18n: { [key in I18nKeys]?: string; }; }, () => VNode, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, "drag" | "init" | "slide-start" | "loop" | "update:modelValue" | "slide-end" | "before-init", vue.PublicProps, Readonly<{ enabled: boolean; itemsToShow: number; itemsToScroll: number; modelValue?: number | undefined; transition?: number | undefined; gap: number; autoplay?: number | undefined; snapAlign: SnapAlign; wrapAround?: boolean | undefined; pauseAutoplayOnHover?: boolean | undefined; mouseDrag?: boolean | undefined; touchDrag?: boolean | undefined; dir?: Dir | undefined; breakpointMode?: string | undefined; breakpoints?: Breakpoints | undefined; height: string | number; i18n: { [key in I18nKeys]?: string; }; }> & Readonly<{}>, { snapAlign: string; enabled: boolean; itemsToShow: number; itemsToScroll: number; modelValue: number; transition: number; gap: number; autoplay: number; wrapAround: boolean; pauseAutoplayOnHover: boolean; mouseDrag: boolean; touchDrag: boolean; dir: string; breakpointMode: string; breakpoints: Record; height: string | number; i18n: Record; }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>; interface Data { [key: string]: unknown; } declare const Icon: { (props: Data): vue.VNode | undefined; props: { name: StringConstructor; title: StringConstructor; }; }; declare const Navigation: (props: any, { slots, attrs }: any) => vue.VNode[]; declare const Pagination: () => VNode; declare const _default: vue.DefineComponent, () => vue.VNode | vue.VNode[] | undefined, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly> & Readonly<{}>, { index: number; isClone: boolean; }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>; export { type BreakpointMode, type Breakpoints, _default$1 as Carousel, type CarouselConfig, type CarouselData, type CarouselExposed, type CarouselMethods, type CarouselNav, type Data$1 as Data, type Dir, type I18nKeys, Icon, Navigation, Pagination, _default as Slide, type SnapAlign };