import type { Alignable } from '../../../_common/types.js'; import { Bound, Overlay } from '../../../surface-block/index.js'; import type { EdgelessPageBlockComponent } from '../edgeless-page-block.js'; export declare class EdgelessSnapManager extends Overlay { container: EdgelessPageBlockComponent; constructor(container: EdgelessPageBlockComponent); private _alignableBounds; /** * This variable holds reference lines that are calculated * based on the self-alignment of the graphics. This alignment is determined * according to various aspects of the graphic itself, such as the center, edges, * corners, etc. It essentially represents the guidelines for the positioning * and alignment within the individual graphic elements. */ private _intraGraphicAlignLines; /** * This variable contains reference lines that are * generated by the 'Distribute Alignment' function. This alignment is achieved * by evenly distributing elements based on specified alignment rules. * These lines serve as a guide for achieving equal spacing or distribution * among multiple graphics or design elements. */ private _distributedAlignLines; private _getBoundsWithRotationByAlignable; setupAlignables(alignables: Alignable[]): Bound; cleanupAlignables(): void; align(bound: Bound): { dx: number; dy: number; }; private _calculateClosestDistances; private _updateXAlignPoint; private _updateYAlignPoint; private _alignDistributeHorizontally; private _alignDistributeVertically; private _draw; render(ctx: CanvasRenderingContext2D): void; } //# sourceMappingURL=snap-manager.d.ts.map