import { AViewerPluginEventMap, AViewerPluginSync, ThreeViewer } from '../../viewer';
import { ValOrFunc } from 'ts-browser-helpers';
import { IGeometry } from '../../core';
export interface TargetBlock {
    target: ValOrFunc<IGeometry | undefined>;
    name: string;
    visible: boolean;
    div: HTMLDivElement;
    uvCanvas?: HTMLCanvasElement;
}
export declare class GeometryUVPreviewPlugin<TE extends AViewerPluginEventMap = AViewerPluginEventMap> extends AViewerPluginSync<TE> {
    static readonly PluginType = "GeometryUVPreviewPlugin";
    enabled: boolean;
    toJSON: any;
    mainDiv: HTMLDivElement;
    stylesheet?: HTMLStyleElement;
    constructor(enabled?: boolean);
    targetBlocks: TargetBlock[];
    onAdded(viewer: ThreeViewer): void;
    onRemove(viewer: ThreeViewer): void;
    private _postRender;
    addGeometry(target: ValOrFunc<IGeometry | undefined>, name: string, visible?: boolean): this;
    removeGeometry(target: ValOrFunc<IGeometry | undefined>): this;
    downloadGeometryUV(targetDef: TargetBlock): this;
    refreshUi(): void;
    setDirty(): void;
    dispose(): void;
}
//# sourceMappingURL=../../src/plugins/ui/GeometryUVPreviewPlugin.d.ts.map