import type { PropType } from 'vue' import type { SwiperModule } from '../../shared' export interface SwiperEffect { [key: string]: any } export interface SwiperGrid { rows?: number fill?: string } export type SwiperProps = Partial<{ list: PropType virtualList: PropType customStyle: PropType> modules: { type: PropType default: undefined } init: boolean direction: 'horizontal' | 'vertical' | string oneWayMovement: boolean swiperElementNodeName: string | null touchEventsTarget: string initialSlide: number speed: number cssMode: boolean updateOnWindowResize: boolean resizeObserver: boolean nested: boolean focusableElements: string width: number | null height: number | null preventInteractionOnTransition: boolean userAgent: string | null url: string | null edgeSwipeDetection: boolean | string edgeSwipeThreshold: number autoHeight: boolean setWrapperSize: boolean virtualTranslate: boolean effect: string breakpoints: Record breakpointsBase: string spaceBetween: number | string slidesPerView: number | 'auto' maxBackfaceHiddenSlides: number slidesPerGroup: number slidesPerGroupSkip: number slidesPerGroupAuto: boolean centeredSlides: boolean centeredSlidesBounds: boolean slidesOffsetBefore: number slidesOffsetAfter: number normalizeSlideIndex: boolean centerInsufficientSlides: boolean watchOverflow: boolean roundLengths: boolean touchRatio: number touchAngle: number simulateTouch: boolean shortSwipes: boolean longSwipes: boolean longSwipesRatio: number longSwipesMs: number followFinger: boolean allowTouchMove: boolean threshold: number touchMoveStopPropagation: boolean touchStartPreventDefault: boolean touchStartForcePreventDefault: boolean touchReleaseOnEdges: boolean uniqueNavElements: boolean resistance: boolean resistanceRatio: number watchSlidesProgress: boolean grabCursor: boolean preventClicks: boolean preventClicksPropagation: boolean slideToClickedSlide: boolean loop: boolean loopedSlides: number loopPreventsSliding: boolean rewind: boolean allowSlidePrev: boolean allowSlideNext: boolean swipeHandler: boolean | null noSwiping: boolean noSwipingClass: string noSwipingSelector: string | null passiveListeners: boolean containerModifierClass: string slideClass: string slideActiveClass: string slideVisibleClass: string slideFullyVisibleClass: string slideBlankClass: string slideNextClass: string slidePrevClass: string wrapperClass: string lazyPreloaderClass: string lazyPreloadPrevNext: number runCallbacksOnInit: boolean observer: boolean observeParents: boolean observeSlideChildren: boolean a11y: boolean | Record autoplay: boolean | Record controller: Record coverflowEffect: SwiperEffect cubeEffect: SwiperEffect fadeEffect: SwiperEffect flipEffect: SwiperEffect creativeEffect: SwiperEffect cardsEffect: SwiperEffect customEffect: SwiperEffect hashNavigation: boolean | Record history: boolean | Record keyboard: boolean | Record mousewheel: boolean | Record navigation: boolean | Record pagination: boolean | Record parallax: boolean | Record scrollbar: boolean | Record thumbs: Record virtual: boolean | Record zoom: boolean | Record grid: SwiperGrid freeMode: boolean | Record enabled: boolean createElements: boolean eventsPrefix: string loopAddBlankSlides: boolean loopAdditionalSlides: number _emitClasses: boolean resetWrapperHeight: boolean }>