import { type BlockModel } from '@blockeditor/store'; import type { SurfaceBlockModel } from '../../models.js'; import type { IBound } from '../../surface-block/consts.js'; import type { ConnectorElementModel } from '../../surface-block/element-model/index.js'; import { GroupElementModel } from '../../surface-block/index.js'; import type { ReorderingDirection } from '../../surface-block/managers/layer-manager.js'; import { LayerManager } from '../../surface-block/managers/layer-manager.js'; import { Bound } from '../../surface-block/utils/bound.js'; import { PageService } from '../page-service.js'; import { EdgelessSelectionManager } from './services/selection-manager.js'; import type { EdgelessBlockModel, EdgelessModel, HitTestOptions } from './type.js'; import { Viewport } from './utils/viewport.js'; export declare class EdgelessPageService extends PageService { private _surface; private _layer; private _selection; private _viewport; mounted(): void; unmounted(): void; get surface(): SurfaceBlockModel; get layer(): LayerManager; get selection(): EdgelessSelectionManager; get viewport(): Viewport; /** * sorted canvas elements */ get elements(): import("../../surface-block/index.js").ElementModel[]; get frames(): import("../../models.js").FrameBlockModel[]; get blocks(): EdgelessBlockModel[]; generateIndex(type: string): string; addElement>(type: string, props: T): string; addBlock(flavour: string, props: Record, parent?: string | BlockModel, parentIndex?: number): string; getElementsByType[0]>(type: K): import("../../surface-block/element-model/index.js").ElementModelMap[K][]; updateElement(id: string, props: Record): void; removeElement(id: string | EdgelessModel): void; getElementById(id: string): import("../../surface-block/index.js").ElementModel | EdgelessBlockModel; pickElement(x: number, y: number, options: { all: true; }): EdgelessModel[]; pickElement(x: number, y: number, options?: { all: false; }): EdgelessModel | null; pickElementsByBound(bound: IBound | Bound, type?: 'all'): EdgelessModel[]; pickElementsByBound(bound: IBound | Bound, type: 'blocks'): EdgelessBlockModel[]; /** * This method is used to pick element in group, if the picked element is in a * group, we will pick the group instead. If that picked group is currently selected, then * we will pick the element itself. */ pickElementInGroup(x: number, y: number, options?: HitTestOptions): EdgelessModel | null; reorderElement(element: EdgelessModel, direction: ReorderingDirection): void; createGroup(elements: EdgelessModel[] | string[]): string; createGroupFromSelected(): string | undefined; ungroup(group: GroupElementModel): void; getConnectors(element: EdgelessModel | string): ConnectorElementModel[]; } //# sourceMappingURL=edgeless-page-service.d.ts.map