import { type Unit } from "./units.ts"; import type { SurfaceOptions } from "./types.ts"; /** What the options ask of the lines, in the units of the markup they are applied to. */ export interface LineLook { scale: number; dash: readonly number[] | undefined; opacity: number | undefined; } /** How wide the surface's ordinary line is drawn, in the units of its markup, and how many feet one of them is (`Surface.lineRef`). */ export interface LineRef { width: number; feet: number; } /** * The look of the lines the options ask for, or `undefined` when they ask for none of it. A width is a multiple of the width the lines are drawn at (`2`, * `{ scale: 2 }`) or an absolute width in `units` (`{ width: 0.5 }`), turned into a multiple here; a value that cannot be read is left out, as the other options' * are, so that a page's markup cannot break a drawing. */ export declare function lineLook(o: Pick, ref: LineRef | undefined, unit: Unit): LineLook | undefined; /** The markup of a surface's lines with the look applied. */ export declare function restyleLines(markup: string, look: LineLook): string;