export default class Reeller extends Base {
    /**
     * @typedef {Object} ReellerOptions
     * @property {string|HTMLElement|null} container Container element or selector.
     * @property {string|HTMLElement|null} wrapper Inner element or selector.
     * @property {string|null} itemSelector Items CSS selector.
     * @property {string} [cloneClassName] Class name of the new clones.
     * @property {number} [speed] Movement speed.
     * @property {string} [ease] Timing function.
     * @property {number} [initialSeek] Initial seek of timeline.
     * @property {boolean} [loop] Loop movement.
     * @property {boolean} [paused] Initialize in paused mode.
     * @property {boolean} [reversed] Reverse mode.
     * @property {boolean} [autoPlay] Use IntersectionObserver to auto play/stop movement.
     * @property {boolean} [autoUpdate] Use ResizeObserver to auto update clones number.
     * @property {boolean} [clonesOverflow] Create artificial overflow with clones.
     * @property {boolean} [clonesFinish] Bring the cycle of clones to an end.
     * @property {boolean} [clonesMin] Minimum number of clones.
     * @property {Object|null} [plugins] Options for plugins.
     */
    /**
     * Default options.
     *
     * @type {ReellerOptions}
     */
    static defaultOptions: {
        /**
         * Container element or selector.
         */
        container: string | HTMLElement | null;
        /**
         * Inner element or selector.
         */
        wrapper: string | HTMLElement | null;
        /**
         * Items CSS selector.
         */
        itemSelector: string | null;
        /**
         * Class name of the new clones.
         */
        cloneClassName?: string;
        /**
         * Movement speed.
         */
        speed?: number;
        /**
         * Timing function.
         */
        ease?: string;
        /**
         * Initial seek of timeline.
         */
        initialSeek?: number;
        /**
         * Loop movement.
         */
        loop?: boolean;
        /**
         * Initialize in paused mode.
         */
        paused?: boolean;
        /**
         * Reverse mode.
         */
        reversed?: boolean;
        /**
         * Use IntersectionObserver to auto play/stop movement.
         */
        autoPlay?: boolean;
        /**
         * Use ResizeObserver to auto update clones number.
         */
        autoUpdate?: boolean;
        /**
         * Create artificial overflow with clones.
         */
        clonesOverflow?: boolean;
        /**
         * Bring the cycle of clones to an end.
         */
        clonesFinish?: boolean;
        /**
         * Minimum number of clones.
         */
        clonesMin?: boolean;
        /**
         * Options for plugins.
         */
        plugins?: any | null;
    };
    /**
     * Registered plugin storage.
     *
     * @type {Object}
     */
    static plugins: any;
    /**
     * Register GSAP animation library.
     *
     * @param {GSAP} gsap GSAP library.
     */
    static registerGSAP(gsap: GSAP): void;
    /**
     * Register plugins.
     */
    static use(...plugins: any[]): void;
    /**
     * Create Reeller instance.
     *
     * @param {ReellerOptions} [options] Reeller options.
     */
    constructor(options?: {
        /**
         * Container element or selector.
         */
        container: string | HTMLElement | null;
        /**
         * Inner element or selector.
         */
        wrapper: string | HTMLElement | null;
        /**
         * Items CSS selector.
         */
        itemSelector: string | null;
        /**
         * Class name of the new clones.
         */
        cloneClassName?: string;
        /**
         * Movement speed.
         */
        speed?: number;
        /**
         * Timing function.
         */
        ease?: string;
        /**
         * Initial seek of timeline.
         */
        initialSeek?: number;
        /**
         * Loop movement.
         */
        loop?: boolean;
        /**
         * Initialize in paused mode.
         */
        paused?: boolean;
        /**
         * Reverse mode.
         */
        reversed?: boolean;
        /**
         * Use IntersectionObserver to auto play/stop movement.
         */
        autoPlay?: boolean;
        /**
         * Use ResizeObserver to auto update clones number.
         */
        autoUpdate?: boolean;
        /**
         * Create artificial overflow with clones.
         */
        clonesOverflow?: boolean;
        /**
         * Bring the cycle of clones to an end.
         */
        clonesFinish?: boolean;
        /**
         * Minimum number of clones.
         */
        clonesMin?: boolean;
        /**
         * Options for plugins.
         */
        plugins?: any | null;
    });
    /** @type {ReellerOptions} **/
    options: {
        /**
         * Container element or selector.
         */
        container: string | HTMLElement | null;
        /**
         * Inner element or selector.
         */
        wrapper: string | HTMLElement | null;
        /**
         * Items CSS selector.
         */
        itemSelector: string | null;
        /**
         * Class name of the new clones.
         */
        cloneClassName?: string;
        /**
         * Movement speed.
         */
        speed?: number;
        /**
         * Timing function.
         */
        ease?: string;
        /**
         * Initial seek of timeline.
         */
        initialSeek?: number;
        /**
         * Loop movement.
         */
        loop?: boolean;
        /**
         * Initialize in paused mode.
         */
        paused?: boolean;
        /**
         * Reverse mode.
         */
        reversed?: boolean;
        /**
         * Use IntersectionObserver to auto play/stop movement.
         */
        autoPlay?: boolean;
        /**
         * Use ResizeObserver to auto update clones number.
         */
        autoUpdate?: boolean;
        /**
         * Create artificial overflow with clones.
         */
        clonesOverflow?: boolean;
        /**
         * Bring the cycle of clones to an end.
         */
        clonesFinish?: boolean;
        /**
         * Minimum number of clones.
         */
        clonesMin?: boolean;
        /**
         * Options for plugins.
         */
        plugins?: any | null;
    };
    gsap: any;
    paused: boolean;
    /**
     * Create filler.
     */
    createFiller(): void;
    filler: Filler;
    /**
     * Create timeline.
     */
    createTimeline(): any;
    tl: any;
    /**
     * Bind IntersectionObserver to container for autoplay.
     */
    bindIntersectionObserver(): void;
    intersectionObserver: IntersectionObserver;
    /**
     * Init plugins from options.
     */
    initPlugins(): void;
    plugin: {};
    /**
     * Destroy initialized plugins.
     */
    destroyPlugins(): void;
    /**
     * Resume moving.
     */
    resume(): void;
    /**
     * Set reversed moving.
     *
     * @param {boolean} [reversed] Is movement reversed?
     */
    reverse(reversed?: boolean): void;
    /**
     * Pause moving.
     */
    pause(): void;
    /**
     * Refresh timeline.
     */
    invalidate(): void;
    /**
     * Recalculate data.
     */
    update(): void;
    /**
     * Fully refresh and update all clones and position.
     *
     * @param {boolean} [update] Update after refresh.
     */
    refresh(update?: boolean): void;
    /**
     * Destroy Reeller instance.
     *
     * @param {boolean} [removeClones] Remove clones from DOM.
     * @param {boolean} [clearProps] Remove transformations.
     */
    destroy(removeClones?: boolean, clearProps?: boolean): void;
}
import Base from "./Base";
import Filler from "./Filler";
//# sourceMappingURL=Reeller.d.ts.map