import type { IPoint } from '../../../interfaces/IPoint.js'; import type { IPlacementService } from './IPlacementService.js'; import type { IDesignItem } from '../../item/IDesignItem.js'; import { IDesignerCanvas } from '../../widgets/designerView/IDesignerCanvas.js'; export declare class GridPlacementService implements IPlacementService { private _basePlacementService; constructor(basePlacementService: IPlacementService); enterContainer(container: IDesignItem, items: IDesignItem[], mode: 'normal' | 'drop'): void; leaveContainer(container: IDesignItem, items: IDesignItem[]): void; serviceForContainer(container: IDesignItem, containerStyle: CSSStyleDeclaration, item?: IDesignItem): boolean; isEnterableContainer(container: IDesignItem): any; canEnter(container: IDesignItem, items: IDesignItem[]): any; canLeave(container: IDesignItem, items: IDesignItem[]): boolean; getElementOffset(container: IDesignItem, designItem?: IDesignItem): IPoint; placePoint(event: MouseEvent, designerCanvas: IDesignerCanvas, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): IPoint; startPlace(event: MouseEvent, designerCanvas: IDesignerCanvas, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): void; place(event: MouseEvent, designerCanvas: IDesignerCanvas, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): void; finishPlace(event: MouseEvent, designerCanvas: IDesignerCanvas, container: IDesignItem, startPoint: IPoint, offsetInControl: IPoint, newPoint: IPoint, items: IDesignItem[]): void; moveElements(designItems: IDesignItem[], position: IPoint, absolute: boolean): void; }