import Flicking from "../Flicking"; import VirtualPanel from "./panel/VirtualPanel"; export declare type PanelRenderCallback = (( /** Virtual panel to render */ panel: VirtualPanel, /** Index of the panel */ index: number) => string) | (() => string); export interface VirtualOptions { renderPanel: PanelRenderCallback; initialPanelCount: number; cache?: boolean; panelClass?: string; } /** * A manager class to add / remove virtual panels */ declare class VirtualManager { private _flicking; private _renderPanel; private _initialPanelCount; private _cache; private _panelClass; private _elements; get elements(): { nativeElement: HTMLElement; visible: boolean; }[]; /** * A rendering function for the panel element's innerHTML */ get renderPanel(): PanelRenderCallback; /** * Initial panel count to render * @readonly * @defaultValue -1 */ get initialPanelCount(): number; /** * Whether to cache rendered panel's innerHTML * @defaultValue false */ get cache(): boolean; /** * The class name that will be applied to rendered panel elements * @defaultValue "flicking-panel" */ get panelClass(): string; set renderPanel(val: VirtualOptions["renderPanel"]); set cache(val: NonNullable); set panelClass(val: NonNullable); constructor(flicking: Flicking, options: VirtualOptions | null); init(): void; show(index: number): void; hide(index: number): void; /** * Add new virtual panels at the end of the list * @param count - The number of panels to add * @returns The new panels added */ append(count?: number): VirtualPanel[]; /** * Add new virtual panels at the start of the list * @param count - The number of panels to add * @returns The new panels added */ prepend(count?: number): VirtualPanel[]; /** * Add new virtual panels at the given index * @param count - The number of panels to add * @returns The new panels added */ insert(index: number, count?: number): VirtualPanel[]; /** * Remove panels at the given index * @param count - The number of panels to remove * @returns The panels removed */ remove(index: number, count: number): VirtualPanel[]; /** * @internal */ private _initVirtualElements; } export default VirtualManager;