import Flicking from "../Flicking";
import { SetSizeParams } from "../types/params";
export interface ViewportPadding {
    /** CSS `padding-left` */
    left: number;
    /** CSS `padding-right` */
    right: number;
    /** CSS `padding-top` */
    top: number;
    /** CSS `padding-bottom` */
    bottom: number;
}
/**
 * A component that manages viewport size
 */
declare class Viewport {
    private _flicking;
    private _el;
    private _width;
    private _height;
    private _isBorderBoxSizing;
    private _padding;
    /**
     * A viewport(root) element
     * @readonly
     */
    get element(): HTMLElement;
    /**
     * Viewport width, without paddings
     * @readonly
     */
    get width(): number;
    /**
     * Viewport height, without paddings
     * @readonly
     */
    get height(): number;
    /**
     * Viewport paddings
     * @readonly
     */
    get padding(): ViewportPadding;
    /**
     * @param flicking - Flicking instance
     * @param el - A viewport element
     */
    constructor(flicking: Flicking, el: HTMLElement);
    /**
     * Change viewport's size.
     * @remarks
     * This will change the actual size of `.flicking-viewport` element by changing its CSS width/height property
     * @param size - {@link SetSizeParams}
     */
    setSize(size: SetSizeParams): void;
    /**
     * Update width/height to the current viewport element's size
     */
    resize(): void;
}
export default Viewport;
