export interface GradientStop { offset: number; color: string; } export interface ParsedGradient { rotation: number; stops: GradientStop[]; } export declare const isGradient: (color: unknown) => boolean; export declare const parseColor: (color: any) => { rotation: number; stops: { offset: number; color: any; }[]; }; export declare const firstStopColor: (color: string) => string; export declare const linearGradientEndpoints: (rotation: number) => { x1: number; y1: number; x2: number; y2: number; }; export declare const linearGradientGeometry: (gradientColor: string) => { stops: GradientStop[]; x1: number; y1: number; x2: number; y2: number; }; /** * The unit endpoints of `linearGradientGeometry` projected onto a box, in user * space. For `gradientUnits="userSpaceOnUse"`, which is what an SVG emitter * needs when the gradient must span something OTHER than each referencing * element's own bounding box — curved text is drawn as one `` per glyph, * so the default objectBoundingBox units would give every letter its own full * colour ramp instead of one ramp across the word. * * Shared so the string emitter (core's createSVGGradientDef) and the VNode one * (svg-export's) cannot drift on the arithmetic. */ export declare const linearGradientUserSpaceEndpoints: (geom: { x1: number; y1: number; x2: number; y2: number; }, box: { x: number; y: number; width: number; height: number; }) => { x1: number; y1: number; x2: number; y2: number; };