import type { RoughCanvas } from '../../rough/canvas.js';
import { Bound } from '../../utils/bound.js';
import type { PointLocation } from '../../utils/point-location.js';
import type { IVec } from '../../utils/vec.js';
import type { HitTestOptions } from '../edgeless-element.js';
import { SurfaceElement } from '../surface-element.js';
import type { IGroup } from './types.js';
export declare class GroupElement extends SurfaceElement<IGroup> {
    private _cachedChildren;
    private _titleHeight;
    private _titleWidth;
    private _padding;
    private _radius;
    protected _connectable: boolean;
    protected _localProps: string[];
    containedByBounds(bound: Bound): boolean;
    intersectWithLine(start: IVec, end: IVec): PointLocation[] | null;
    init(): void;
    get xywh(): `[${number},${number},${number},${number}]`;
    get showTitle(): boolean;
    set showTitle(val: boolean);
    get title(): import("yjs").Text;
    get children(): import("yjs").Map<boolean>;
    private get _children();
    get childElements(): import("../../../std.js").EdgelessElement[];
    get titleHeight(): number;
    get titleWidth(): number;
    get padding(): number[];
    get radius(): number;
    get titleBound(): Bound;
    get elementBound(): Bound;
    render(_ctx: CanvasRenderingContext2D, _matrix: DOMMatrix, _rc: RoughCanvas): void;
    private _renderTitle;
    hitTest(x: number, y: number, _options?: HitTestOptions | undefined): boolean;
    unmount(): void;
}
//# sourceMappingURL=group-element.d.ts.map