///
import React from 'react';
import { RendererProps } from 'amis-core';
import { ActionObject } from 'amis-core';
import { BaseSchema, SchemaCollection, SchemaName } from '../Schema';
import { IScopedContext } from 'amis-core';
/**
* Carousel 轮播图渲染器。
* 文档:https://baidu.gitee.io/amis/docs/components/carousel
*/
export interface CarouselSchema extends BaseSchema {
/**
* 指定为轮播图类型
*/
type: 'carousel';
/**
* 是否自动播放
*/
auto?: boolean;
/**
* 轮播间隔时间
*/
interval?: number | string;
/**
* 动画时长
*/
duration?: number;
/**
* 设置宽度
*/
width?: number;
/**
* 设置高度
*/
height?: number;
controlsTheme?: 'light' | 'dark';
/**
* 占位
*/
placeholder?: string;
/**
* 配置控件内容
*/
controls?: Array<'dots' | 'arrows'>;
/**
* 动画类型
*/
animation?: 'fade' | 'slide';
/**
* 配置单条呈现模板
*/
itemSchema?: SchemaCollection;
name?: SchemaName;
/**
* 预览图模式
*/
thumbMode?: 'contain' | 'cover';
/**
* 配置固定值
*/
options?: Array;
}
export interface CarouselProps extends RendererProps, Omit {
value?: any;
}
export interface CarouselState {
current: number;
options: any[];
nextAnimation: string;
}
export declare class Carousel extends React.Component {
wrapperRef: React.RefObject;
intervalTimeout: NodeJS.Timer | number;
durationTimeout: NodeJS.Timer | number;
static defaultProps: Pick;
state: {
current: number;
options: any;
nextAnimation: string;
};
componentDidMount(): void;
componentDidUpdate(prevProps: CarouselProps): void;
componentWillUnmount(): void;
doAction(action: ActionObject, args: object, throwErrors: boolean): any;
prepareAutoSlide(): void;
autoSlide(rel?: string): void;
transitFramesTowards(direction: string, nextAnimation: string): Promise;
getFrameId(pos?: string): number;
next(): void;
prev(): void;
clearAutoTimeout(): void;
changeSlide(index: number): Promise;
renderDots(): JSX.Element;
renderArrows(): JSX.Element;
handleMouseEnter(): void;
handleMouseLeave(): void;
render(): JSX.Element;
}
export declare class CarouselRenderer extends Carousel {
static contextType: React.Context;
constructor(props: CarouselProps, context: IScopedContext);
componentWillUnmount(): void;
}