import { StickerPrinter, StickerElement } from '../../core/src/index.ts'; import { DesignerLayout } from './types'; export declare class CanvasManager { readonly canvas: HTMLCanvasElement; readonly overlay: HTMLDivElement; readonly printer: StickerPrinter; pxPerUnit: number; isDragging: boolean; snapToGrid: boolean; private readonly GRID_SIZE; constructor(canvas: HTMLCanvasElement, overlay: HTMLDivElement, printer: StickerPrinter); render(layout: DesignerLayout, sampleData: Record): Promise; updateOverlay(elements: StickerElement[], selectedIds: Set, onSelect: (id: string, ctrlKey: boolean) => void, onDragStart: (e: MouseEvent, el: StickerElement, item: HTMLElement) => void, onResizeStart: (e: MouseEvent, el: StickerElement, item: HTMLElement) => void): void; startDrag(e: MouseEvent, primaryEl: StickerElement, item: HTMLElement, companions: StickerElement[], onMove: () => void, onComplete: () => void): void; startResize(e: MouseEvent, el: StickerElement, item: HTMLElement, onMove: () => void, onComplete: () => void): void; }