import { ICanvasViewport, IUserInputs } from "../helpers/intefaces";
import Options from "../common/options";
/**
 * Canvas
 *
 * @export
 * @class Canvas
 */
export declare class Canvas extends Options {
    /**
     * Loading
     */
    private loading;
    /**
     * Wrapper HTML element
     */
    private _container;
    /**
     * HTML element
     */
    private _wrapper;
    /**
     * Canvas DOM element
     */
    private _canvas;
    /**
     * Images
     */
    private images;
    /**
     * Canvas context
     */
    private context;
    /**
     * Canvas viewport
     */
    protected viewport: ICanvasViewport;
    /**
     * Creates an instance of Canvas.
     *
     * @constructor
     * @param {HTMLElement} HTML element.
     * @memberof Canvas
     */
    constructor(element: HTMLElement, options: IUserInputs);
    /**
     * Preload images
     *
     * @returns
     */
    preload(): Promise<void>;
    /**
     * Draw image in Canvas Element
     *
     * @param image
     */
    drawImage(image: HTMLImageElement): void;
    /**
     * Draw image in canvas by frame number
     * @param {scrollTop} number
     * @private
     *
     * Hidden in order to not display this method in docs
     * @hidden
     */
    drawImageByFrameNumber(frameNumber?: number): void;
    /**
     * Draw image in canvas by scroll top position.
     *
     * @param {scrollTop} number
     */
    drawImageByScrollFraction(scrollFraction: number): void;
}
export default Canvas;
