import type { Maybe } from "@thi.ng/api"; import type { MultiFn1O } from "@thi.ng/defmulti"; import type { AABBLike, IShape, IShape2, IShape3 } from "./api.js"; import type { AABB } from "./api/aabb.js"; import { Rect } from "./api/rect.js"; /** * Function overrides for {@link bounds}. */ export type BoundsFn = { (shape: IShape2, margin?: number): Maybe; (shape: IShape3, margin?: number): Maybe; } & MultiFn1O>; /** * Computes and returns bounding rect/box for the given shape, optionally with * extra uniform margin/padding (default: 0). For groups, the compound bounds of * all children will be returned. * * @remarks * Currently implemented for: * * - {@link AABB} * - {@link Arc} * - {@link BPatch} * - {@link Circle} * - {@link Cubic} * - {@link Ellipse} * - {@link Extra} (returns `undefined`) * - {@link Group} * - {@link Line} * - {@link Path} * - {@link Polygon} * - {@link Polyline} * - {@link Points} * - {@link Points3} * - {@link Quad} * - {@link Quadratic} * - {@link Text} - (no way to compute size, only position & any margin) * * @param shape * @param margin */ export declare const bounds: BoundsFn; //# sourceMappingURL=bounds.d.ts.map