import { Component } from 'react';
import './index.less';
declare type SourceType = {
    sUrl?: string;
    mUrl?: string;
    lUrl?: string;
    url?: string;
    id?: number;
    videoUrl?: string;
    type: string;
};
declare type SISProps = {
    dataSource: Array<SourceType>;
    rowKey: number;
    needMagnifier: boolean;
    multiple: number;
    smallImgField: string;
    middleImgField: string;
    largeImgField: string;
    videoField: string;
    width: number;
    slideNum: number;
    nodePadding: number;
    onClick?: any;
    onChangeSku?: any;
    sliderMarginTop: number;
    needBorder: boolean;
};
declare type SISState = {
    imgIndex: any;
    cursor: number;
    imgViewVisible: boolean;
    magnifierOff: boolean;
    mouseBlock: any;
    magnifierImg: any;
    marginTop: number;
};
declare class SkuImgSlider extends Component<SISProps, SISState> {
    slidNodeWidth: number;
    maxSlideNum: number;
    viewerSize: number;
    videoOpt: object;
    pageBtnWidth: number;
    static defaultProps: {
        multiple: number;
        dataSource: never[];
        rowKey: string;
        smallImgField: string;
        middleImgField: string;
        largeImgField: string;
        videoField: string;
        needMagnifier: boolean;
        width: number;
        slideNum: number;
        nodePadding: number;
        sliderMarginTop: number;
        needBorder: boolean;
    };
    constructor(props: any);
    getSlider: () => unknown[];
    onImgIndexChange: (index: number, source: any) => void;
    onPreBtnClick: () => void;
    onNextBtnClick: () => void;
    calculationBlock: (offsetX: any, offsetY: any) => void;
    onMouseEnter: () => void;
    onMouseLeave: () => void;
    onMouseMove: (event: any) => void;
    render(): JSX.Element;
}
export default SkuImgSlider;
