import { DecorationSpecification, DiagramStyles, MessageSpecification } from 'swirly-types'; export declare type Point = { x: number; y: number; }; export declare type Rectangle = { x1: number; y1: number; x2: number; y2: number; }; export declare type TimeScaler = (time: number) => number; export declare type RendererOptions = { DOMParser?: typeof DOMParser; styles?: DiagramStyles; }; export declare type RendererContext = { document: XMLDocument; styles: DiagramStyles; streamHeight: number; }; export declare type RendererResult = { element: SVGElement; bbox: Rectangle; }; export declare type PostRenderUpdateContext = { width: number; height: number; }; export declare type UpdatableRendererResult = RendererResult & { update: (ctx: PostRenderUpdateContext) => void; }; export declare type MessageRendererOptions = { verticalOffset: number; valueAngle: number; }; export declare type MessageRenderer = (ctx: RendererContext, message: MessageSpecification, options: MessageRendererOptions) => RendererResult; export declare type DecorationRendererContext = RendererContext & { bbox: Rectangle; scaleTime: TimeScaler; }; export declare type DecorationRendererResult = { element: SVGElement; bbox?: Rectangle; }; export declare type DecorationRenderer = (ctx: DecorationRendererContext, decoration: DecorationSpecification) => DecorationRendererResult;