import { SceneNode } from './node'; import { ColorValue, Pixels, ShadowOptions } from '../options'; /** Canvas drop shadow of a shape, in device-independent pixels. */ export interface SceneShadow { color: ColorValue; blur: Pixels; offsetX: Pixels; offsetY: Pixels; } /** Fills in the shadow defaults; undefined when there is nothing to draw. */ export declare function resolveShadow(options: ShadowOptions | undefined): SceneShadow | undefined; export declare class Rect extends SceneNode { x: number; y: number; width: number; height: number; fill?: ColorValue; stroke?: ColorValue; strokeWidth: Pixels; cornerRadius: Pixels; /** Cast under the shape; the stroke is drawn without it. */ shadow?: SceneShadow; protected draw(ctx: CanvasRenderingContext2D): void; containsPoint(x: number, y: number): boolean; } export declare class Line extends SceneNode { x1: number; y1: number; x2: number; y2: number; stroke: ColorValue; strokeWidth: Pixels; lineDash?: Pixels[]; protected draw(ctx: CanvasRenderingContext2D): void; } export declare class Text extends SceneNode { x: number; y: number; text: string; fill: ColorValue; fontSize: Pixels; fontFamily: string; fontWeight: string | number; textAlign: CanvasTextAlign; textBaseline: CanvasTextBaseline; /** Outline around letters (drawn under the fill). */ outline?: ColorValue; outlineWidth: Pixels; /** Rotation around (x, y), in degrees. */ rotation: number; protected draw(ctx: CanvasRenderingContext2D): void; } export declare class Circle extends SceneNode { x: number; y: number; radius: number; fill?: ColorValue; stroke?: ColorValue; strokeWidth: Pixels; lineDash?: Pixels[]; protected draw(ctx: CanvasRenderingContext2D): void; }