import { AllowedComponentProps } from 'vue'; import { Carousel } from 'vue3-carousel'; import { ComponentCustomProps } from 'vue'; import { Ref } from 'vue'; import { RendererElement } from 'vue'; import { RendererNode } from 'vue'; import { ShallowUnwrapRef } from 'vue'; import { VNode } from 'vue'; import { VNodeProps } from 'vue'; /** * Helper type representing the template ref (used with the "ref" attribute) for a Carousel instance. * This addresses an issue encountered when using the `InstanceType` utility type with generic Vue components. * For more details, refer to the known issue: {@link https://github.com/vuejs/language-tools/issues/3206} * Additionally, explore Vue's documentation on typing component template refs: * {@link https://vuejs.org/guide/typescript/composition-api.html#typing-component-template-refs} * * The solution implemented here involves directly defining the instance type of the Vue3Carousel component. * This approach works because our Carousel component serves as a wrapper around the Vue3Carousel. */ export declare type CarouselInstanceRef = Ref> & { next: () => void; prev: () => void; slideTo: (index: number) => void; }; /** * Minimum data required to render a carousel slide. The array * of objects passed must have at least these properties. */ export declare interface CarouselSlide { id: number | string; imageUrl: string; } /** * Which direction the carousel image should slide */ export declare type CarouselSlideDirection = 'left' | 'right'; declare const _default: (__VLS_props: { readonly onClick?: ((slide: Slide) => any) | undefined; itemsToShow?: number | undefined; itemsToScroll?: number | undefined; pauseAutoplayOnHover?: boolean | undefined; readonly onTransition?: ((slide: Slide) => any) | undefined; readonly "onTransition:multi"?: ((slides: Slide[]) => any) | undefined; slides: Slide[]; autoplayInterval?: number | undefined; hideNavigation?: boolean | undefined; hidePagination?: boolean | undefined; loop?: boolean | undefined; pagination?: "dot" | "tile" | undefined; paginationTileRadius?: "standard" | "full" | undefined; roundBorders?: boolean | undefined; staticPaginationDots?: boolean | undefined; } & VNodeProps & AllowedComponentProps & ComponentCustomProps, __VLS_ctx?: { attrs: any; slots: { slide?(_: { slide: Slide; index: number; }): any; }; emit: { (e: 'click', slide: Slide): void; (e: 'transition', slide: Slide): void; (e: 'transition:multi', slides: Slide[]): void; }; } | undefined, __VLS_expose?: ((exposed: ShallowUnwrapRef< { next: () => void | undefined; prev: () => void | undefined; slideTo: (index: number) => void; }>) => void) | undefined, __VLS_setup?: Promise<{ props: { readonly onClick?: ((slide: Slide) => any) | undefined; itemsToShow?: number | undefined; itemsToScroll?: number | undefined; pauseAutoplayOnHover?: boolean | undefined; readonly onTransition?: ((slide: Slide) => any) | undefined; readonly "onTransition:multi"?: ((slides: Slide[]) => any) | undefined; slides: Slide[]; autoplayInterval?: number | undefined; hideNavigation?: boolean | undefined; hidePagination?: boolean | undefined; loop?: boolean | undefined; pagination?: "dot" | "tile" | undefined; paginationTileRadius?: "standard" | "full" | undefined; roundBorders?: boolean | undefined; staticPaginationDots?: boolean | undefined; } & VNodeProps & AllowedComponentProps & ComponentCustomProps; expose(exposed: ShallowUnwrapRef< { next: () => void | undefined; prev: () => void | undefined; slideTo: (index: number) => void; }>): void; attrs: any; slots: { slide?(_: { slide: Slide; index: number; }): any; }; emit: { (e: 'click', slide: Slide): void; (e: 'transition', slide: Slide): void; (e: 'transition:multi', slides: Slide[]): void; }; }>) => VNode & { __ctx?: { props: { readonly onClick?: ((slide: Slide) => any) | undefined; itemsToShow?: number | undefined; itemsToScroll?: number | undefined; pauseAutoplayOnHover?: boolean | undefined; readonly onTransition?: ((slide: Slide) => any) | undefined; readonly "onTransition:multi"?: ((slides: Slide[]) => any) | undefined; slides: Slide[]; autoplayInterval?: number | undefined; hideNavigation?: boolean | undefined; hidePagination?: boolean | undefined; loop?: boolean | undefined; pagination?: "dot" | "tile" | undefined; paginationTileRadius?: "standard" | "full" | undefined; roundBorders?: boolean | undefined; staticPaginationDots?: boolean | undefined; } & VNodeProps & AllowedComponentProps & ComponentCustomProps; expose(exposed: ShallowUnwrapRef< { next: () => void | undefined; prev: () => void | undefined; slideTo: (index: number) => void; }>): void; attrs: any; slots: { slide?(_: { slide: Slide; index: number; }): any; }; emit: { (e: 'click', slide: Slide): void; (e: 'transition', slide: Slide): void; (e: 'transition:multi', slides: Slide[]): void; }; } | undefined; }; export default _default; export { }