///
import * as blobs2 from 'blobs/v2';
import { Component } from './componentTypes';
import { ArrowOptions as PerfectArrowOptions } from 'perfect-arrows';
import { Path } from 'paper';
export declare const svg: (children: Component[]) => Component;
declare type Rect = React.SVGProps & Partial<{
x: number;
y: number;
width: number;
height: number;
}>;
export declare const rect: (params: Rect) => Component;
declare type Text = React.SVGProps & Partial<{
x: number;
y: number;
}>;
export declare const text: (contents: string, params?: Text) => Component;
export declare const blob_OLD: (blobOptions: blobs2.BlobOptions, svgOptions?: blobs2.SvgOptions | undefined) => Component;
export declare const blob: (path: InstanceType, svgOptions?: blobs2.SvgOptions) => Component;
declare type AlignOptions = 'topLeft' | 'top' | 'topRight' | 'left' | 'center' | 'right' | 'bottomLeft' | 'bottom' | 'bottomRight';
export declare const align: (options: AlignOptions, children: Component[]) => Component;
declare type VerticalAlignment = 'top' | 'middle' | 'bottom';
declare type RowOptions = ({
spacing: number;
} | {
totalWidth: number;
}) & {
x?: number;
y?: number;
alignment: VerticalAlignment;
};
export declare const row: (options: RowOptions, children: Component[]) => Component;
export declare const vAlign: (options: {
alignment: VerticalAlignment;
y?: number;
}, children: Component[]) => Component;
export declare const hSpace: (options: ({
spacing: number;
} | {
totalWidth: number;
}) & {
x?: number;
}, children: Component[]) => Component;
export declare const rowComp: (options: RowOptions, children: Component[]) => Component;
declare type HorizontalAlignment = 'left' | 'center' | 'right';
declare type ColOptions = ({
spacing: number;
} | {
totalHeight: number;
}) & {
x?: number;
y?: number;
alignment: HorizontalAlignment;
};
export declare const col: (options: ColOptions, children: Component[]) => Component;
export declare const group: (components: Component[]) => Component;
export declare const render: (component: Component) => JSX.Element;
declare type Arrow = {
from: {
x: number;
y: number;
};
to: {
x: number;
y: number;
};
};
declare type ArrowOptions = PerfectArrowOptions & {
arrowTail?: boolean;
arrowHead?: boolean;
};
export declare const arrow: (params: Arrow, options?: ArrowOptions) => Component;
declare type Port = 'ne' | 'nw' | 'se' | 'sw' | 'n' | 's' | 'e' | 'w';
declare type ArrowRef = {
from: {
ref: Component;
port: Port;
};
to: {
ref: Component;
port: Port;
};
};
export declare const arrowRef: (params: ArrowRef, options?: ArrowOptions) => Component;
export {};
//# sourceMappingURL=component.d.ts.map