import { CoordinateTransform, NewBBox, NewBBoxClass } from './NewBBox'; import React, { ComponentType, PropsWithChildren } from 'react'; export declare type Measurable = { domRef: SVGElement | null; name: string; measure(constraints: Constraints, isRef?: boolean): NewBBoxClass; transformStack: CoordinateTransform[] | undefined; }; export declare type MeasureResult = Partial; export declare type Measure = (measurables: Array, constraints: Constraints) => MeasureResult; export declare type BBox = { x: number; y: number; width: number; height: number; }; export declare type BBoxWithChildren = Partial>; export declare type NewBBoxWithChildren = Partial>; export declare type Constraints = { width?: number; height?: number; }; export declare type Placeable = { place: (point: { x?: number; y?: number; }) => void; placeUnlessDefined: (point: { x?: number; y?: number; }) => void; measuredWidth: number; measuredHeight: number; }; export declare type NewPlaceable = { top?: number; left?: number; right?: number; bottom?: number; width?: number; height?: number; }; export declare const useBluefishLayout: (measure: Measure, bbox: Partial, coord: Partial, ref: React.ForwardedRef, domRef: React.RefObject, props: any, children?: React.ReactNode, name?: any) => NewBBoxWithChildren; export declare const withBluefish: (measure: Measure, WrappedComponent: React.ComponentType | undefined; }>) => React.ForwardRefExoticComponent & React.RefAttributes>; export declare const withBluefishFn: (measureFn: (props: ComponentProps & { $bbox?: Partial | undefined; } & { children?: React.ReactNode; }) => Measure, WrappedComponent: React.ComponentType | undefined; $coord?: CoordinateTransform | undefined; }>) => React.ForwardRefExoticComponent & React.RefAttributes>; export declare const Layout: (measurePolicy: Measure) => React.ForwardRefExoticComponent<{ children?: React.ReactNode; } & { name?: any; debug?: boolean | undefined; } & React.RefAttributes>; export declare const LayoutFn: (measurePolicyFn: (props: T & { $bbox?: Partial | undefined; } & { children?: React.ReactNode; }) => Measure) => React.ForwardRefExoticComponent & React.RefAttributes>; export declare const withBluefishComponent: (WrappedComponent: React.ComponentType>>) => React.ForwardRefExoticComponent>> & React.RefAttributes>; export declare type BluefishContextValue = { bfMap: Map>; setBFMap: React.Dispatch>>; }; export declare const BluefishContext: React.Context; export declare const useBluefishContext: () => BluefishContextValue; //# sourceMappingURL=bluefish.d.ts.map