import Viewport from "./Viewport";
import { OriginalStyle, FlickingPanel, ElementLike, DestroyOption, BoundingBox } from "../types";
declare class Panel implements FlickingPanel {
    viewport: Viewport;
    prevSibling: Panel | null;
    nextSibling: Panel | null;
    protected state: {
        index: number;
        position: number;
        relativeAnchorPosition: number;
        size: number;
        isClone: boolean;
        isVirtual: boolean;
        cloneIndex: number;
        originalStyle: OriginalStyle;
        cachedBbox: BoundingBox | null;
    };
    private element;
    private original?;
    private clonedPanels;
    constructor(element?: HTMLElement | null, index?: number, viewport?: Viewport);
    resize(givenBbox?: BoundingBox): void;
    unCacheBbox(): void;
    getProgress(): number;
    getOutsetProgress(): number;
    getVisibleRatio(): number;
    focus(duration?: number): void;
    update(updateFunction?: ((element: HTMLElement) => any) | null, shouldResize?: boolean): void;
    prev(): FlickingPanel | null;
    next(): FlickingPanel | null;
    insertBefore(element: ElementLike | ElementLike[]): FlickingPanel[];
    insertAfter(element: ElementLike | ElementLike[]): FlickingPanel[];
    remove(): FlickingPanel;
    destroy(option: Partial<DestroyOption>): void;
    getElement(): HTMLElement;
    getAnchorPosition(): number;
    getRelativeAnchorPosition(): number;
    getIndex(): number;
    getPosition(): number;
    getSize(): number;
    getBbox(): BoundingBox;
    isClone(): boolean;
    getOverlappedClass(classes: string[]): string | undefined;
    getCloneIndex(): number;
    getClonedPanels(): Panel[];
    getIdenticalPanels(): Panel[];
    getOriginalPanel(): Panel;
    setIndex(index: number): void;
    setPosition(pos: number): this;
    setPositionCSS(offset?: number): void;
    clone(cloneIndex: number, isVirtual?: boolean, element?: HTMLElement | null): Panel;
    removeElement(): void;
    removeClonedPanelsAfter(start: number): void;
    setElement(element?: HTMLElement | null): void;
}
export default Panel;
