import type { Y } from '@blockeditor/store'; import type { EdgelessBlockModel, IEdgelessElement } from '../../page-block/edgeless/type.js'; import { Bound } from '../utils/bound.js'; import type { PointLocation } from '../utils/point-location.js'; import type { IVec2 } from '../utils/vec.js'; import { type SerializedXYWH } from '../utils/xywh.js'; import type { BaseProps } from './base.js'; import { ElementModel } from './base.js'; type GroupElementProps = BaseProps & { children: Y.Map; title: Y.Text; }; export declare class GroupElementModel extends ElementModel { static propsToY(props: GroupElementProps): GroupElementProps; children: Y.Map; title: Y.Text; showTitle: boolean; get xywh(): SerializedXYWH; set xywh(_: SerializedXYWH); get rotate(): number; set rotate(_: number); get connectable(): boolean; get type(): string; childIds: string[]; get childElements(): (ElementModel | EdgelessBlockModel)[]; hasDescendant(element: string | IEdgelessElement): boolean; addChild(element: IEdgelessElement | string): void; removeChild(element: IEdgelessElement | string): void; /** * Get all decendants of this group * @param withoutGroup if true, will not include group element */ decendants(withoutGroup?: boolean): (ElementModel | EdgelessBlockModel)[]; containedByBounds(bound: Bound): boolean; intersectWithLine(start: IVec2, end: IVec2): PointLocation[] | null; } export {}; //# sourceMappingURL=group.d.ts.map