export interface Vec2 { x: number; y: number; } export interface PageRect { width: number; height: number; } export interface FoldLine { x1: number; y1: number; x2: number; y2: number; } export interface Fold { /** Crease line, clipped to the page rect (page-local coords). */ foldLine: FoldLine; /** Crease orientation in radians (atan2 of the crease direction). */ angle: number; /** Fold-shadow intensity, 0..1. */ shadowAlpha: number; } /** * Book-fold geometry from a dragged corner. * * The folded flap reflects the grabbed `corner` onto the pointer `point`, so the * crease is the perpendicular bisector of the segment corner→point. Coordinates * are page-local: (0,0) top-left, x right, y down, page spanning (0,0)..(width,height). */ export declare function foldFromPointer(point: Vec2, corner: Vec2, pageRect: PageRect): Fold;