import { Instance } from "./../ui/Instance"; import { StyledContainerConfig, ContainerBase } from "../ui/Container"; import { RenderingContext } from "../ui/RenderingContext"; import { Prop } from "../ui/Prop"; import { IRect, Rect } from "./util/Rect"; /** Typed context interface for SVG/layout-related context properties */ export interface SvgRenderingContext extends RenderingContext { parentRect?: Rect; inSvg?: boolean; addClipRect?: (rect: Rect) => string; } export interface BoundedObjectConfig extends StyledContainerConfig { /** * Anchor defines how child bounds are tied to the parent. Zero aligns with the top/left edge. * One aligns with the bottom/right edge. See Svg for more information. */ anchors?: Prop; /** Move boundaries specified by the offset. See Svg for more information. */ offset?: Prop; /** Apply margin to the given boundaries. See Svg for more information. */ margin?: Prop; /** Padding to be applied to the boundaries rectangle before passing to the children. */ padding?: Prop; } export interface BoundedObjectInstance extends Instance { parentRect?: any; } export declare class BoundedObject extends ContainerBase { anchors: any; margin: any; offset: any; padding: any; declareData(...args: any[]): void; prepareData(context: RenderingContext, instance: InstanceType): void; calculateBounds(context: SvgRenderingContext, instance: InstanceType): Rect; prepareBounds(context: SvgRenderingContext, instance: InstanceType): void; prepare(context: SvgRenderingContext, instance: InstanceType): void; prepareCleanup(context: SvgRenderingContext, instance: InstanceType): void; } //# sourceMappingURL=BoundedObject.d.ts.map