import React from 'react'; import { TMethod } from '@amaui/utils'; import AmauiSubscription from '@amaui/subscription'; import { ISurface } from '../Surface/Surface'; import { IElement, IValueBreakpoints, IElementReference, IPropsAny } from '../types'; export interface ICarouselValue { index?: number; x?: number; y?: number; } export type TCarouselItem = string | null | IElement | { element: IElement; }; export type TCarouseOnUpdate = (to: string | number, values: TCarouselItem[]) => any; export interface ICarousel extends Omit { version?: 'regular' | 'transition' | Partial>; valueDefault?: ICarouselValue; value?: ICarouselValue; onChange?: (value: ICarouselValue) => any; id?: any; items?: Array; orientation?: 'vertical' | 'horizontal' | Partial>; itemSize?: 'auto' | Partial>; gap?: number | Partial>; move?: boolean | Partial>; moveValue?: number | Partial>; moveItems?: number | Partial>; moveBeyondEdge?: boolean | Partial>; free?: boolean | Partial>; swipe?: boolean | Partial>; background?: boolean | Partial>; index?: number; autoPlay?: boolean | Partial>; autoHeight?: boolean | Partial>; autoHeightDelay?: number; autoPlayInterval?: number; pauseOnHover?: boolean; round?: boolean | Partial>; arrows?: boolean | Partial>; mouseScroll?: boolean; momentum?: boolean | Partial>; previousSub?: AmauiSubscription; nextSub?: AmauiSubscription; updateSub?: AmauiSubscription; arrowsVisibility?: 'hover' | 'visible' | Partial>; arrowHideOnStartEnd?: boolean | Partial>; renderProgress?: (update: TCarouseOnUpdate) => IElement; renderArrowPrevious?: (update: () => any) => IElement; renderArrowNext?: (update: () => any) => IElement; progress?: boolean | Partial>; progressVisibility?: 'hover' | 'visible' | Partial>; start?: any; end?: any; noTransition?: boolean | Partial>; onUpdatePosition?: (value: ICarouselValue) => any; onInit?: TMethod; onUpdateItems?: TMethod; onBlur?: (event: React.FocusEvent) => any; onFocus?: (event: React.FocusEvent) => any; onMouseEnte?: (event: React.MouseEvent) => any; onMouseLeave?: (event: React.MouseEvent) => any; TransitionComponent?: IElementReference; ProgressTransitionComponent?: IElementReference; ArrowTransitionComponent?: IElementReference; ArrowPreviousTransitionComponent?: IElementReference; ArrowNextTransitionComponent?: IElementReference; IconButtonPrevious?: IElement; IconButtonNext?: IElement; IconPrevious?: IElementReference; IconNext?: IElementReference; ArrowProps?: IPropsAny; ArrowPreviousProps?: IPropsAny; ArrowNextProps?: IPropsAny; CarouselProps?: IPropsAny; TransitionsProps?: IPropsAny; TransitionComponentProps?: IPropsAny; ArrowTransitionComponentProps?: IPropsAny; ArrowPreviousTransitionComponentProps?: IPropsAny; ArrowNextTransitionComponentProps?: IPropsAny; ProgressTransitionComponentProps?: IPropsAny; ItemWrapperProps?: IPropsAny; } declare const Carousel: React.FC; export default Carousel;