import { PointMoveT } from '../../_utils/types'; import { default as Effect, EffectOptionT } from './effect'; export interface GalleryT { active: (slideIndex: number) => Promise; loopRange: () => void; transformX: (value: number, animate: boolean) => Promise; } export interface GalleryOptionT extends EffectOptionT { alignType?: 'center' | 'left'; onChanged?: (from: number, to: number) => void; } export default class Gallery extends Effect { private container; private slideList; private alignType; private moveValue; private isChanging; private isSliding; private oldMoveValue; private destroyObserver; private resolveArr; constructor(slideElList: HTMLElement[], slideContainer: HTMLElement, activeIndex: number, options?: GalleryOptionT); update(slideElList: HTMLElement[], slideContainer: HTMLElement): void; handleTouchStart(): void; handleTouchMove(pos: PointMoveT, e: TouchEvent): void; handleTouchEnd(pos: PointMoveT): number; active(toIndex: number, animate?: boolean, force?: boolean): Promise; loopRange(): void; transformX(value: number, animate?: boolean): Promise; destroyed(): void; }