import { Product3dViewer } from '../product-3d-viewer'; import { LitElement, PropertyValues, TemplateResult } from 'lit'; export type ImageUploader = (file: File) => Promise; export declare class Graphics2DEditor extends LitElement { static properties: { viewer: { attribute: boolean; }; imageUploader: { attribute: boolean; }; available: { state: boolean; }; targets: { state: boolean; }; activeTargetId: { state: boolean; }; elements: { state: boolean; }; selectedElementId: { state: boolean; }; finishes: { state: boolean; }; dirty: { state: boolean; }; busy: { state: boolean; }; error: { state: boolean; }; confirmOpen: { state: boolean; }; }; viewer: Product3dViewer | null; imageUploader?: ImageUploader; private available; private targets; private activeTargetId; private elements; private selectedElementId; private finishes; private dirty; private busy; private error; private confirmOpen; private sessionId; private confirmResolve?; private boundViewer; constructor(); protected createRenderRoot(): HTMLElement | DocumentFragment; protected updated(changed: PropertyValues): void; disconnectedCallback(): void; private unbindViewer; private bindViewer; private readonly handleSelectionChanged; private readonly handleGraphicsChanged; private activeTarget; private selectedElement; private ensureSession; private openTarget; private askToResolveChanges; private resolvePending; private allowTransition; prepareForOwnerHidden(ownerObjectId: string): Promise; ownerVisibilityChanged(ownerObjectId: string, visible: boolean): Promise; private switchTarget; private setError; private requireViewer; private runMutation; private commit; private rollback; private addImageUrl; private addText; private uploadFile; private updateSelected; private renderElementEditor; render(): TemplateResult | null; }