openfig-core 0.3.2 → 0.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -2,17 +2,97 @@ interface FigGuid {
2
2
  sessionID: number;
3
3
  localID: number;
4
4
  }
5
+ interface FigColor {
6
+ r: number;
7
+ g: number;
8
+ b: number;
9
+ a: number;
10
+ }
11
+ interface FigVector {
12
+ x: number;
13
+ y: number;
14
+ }
15
+ interface FigTransform {
16
+ m00: number;
17
+ m01: number;
18
+ m02: number;
19
+ m10: number;
20
+ m11: number;
21
+ m12: number;
22
+ }
23
+ interface FigGradientStop {
24
+ color: FigColor;
25
+ position: number;
26
+ colorVar?: any;
27
+ }
5
28
  interface FigPaint {
6
29
  type: string;
7
- color?: {
8
- r: number;
9
- g: number;
10
- b: number;
11
- a: number;
12
- };
30
+ color?: FigColor;
13
31
  opacity?: number;
14
32
  visible?: boolean;
33
+ blendMode?: string;
34
+ stops?: FigGradientStop[];
35
+ stopsVar?: FigGradientStop[];
36
+ transform?: FigTransform;
37
+ image?: {
38
+ hash?: Uint8Array | string;
39
+ [key: string]: any;
40
+ };
41
+ imageThumbnail?: {
42
+ hash?: Uint8Array | string;
43
+ [key: string]: any;
44
+ };
15
45
  }
46
+ /**
47
+ * EffectType enum values from the Kiwi schema.
48
+ *
49
+ * | Value | Name |
50
+ * |-------|-------------------|
51
+ * | 0 | INNER_SHADOW |
52
+ * | 1 | DROP_SHADOW |
53
+ * | 2 | FOREGROUND_BLUR |
54
+ * | 3 | BACKGROUND_BLUR |
55
+ * | 4 | REPEAT |
56
+ * | 5 | SYMMETRY |
57
+ * | 6 | GRAIN |
58
+ * | 7 | NOISE |
59
+ * | 8 | GLASS |
60
+ */
61
+ type FigEffectType = "INNER_SHADOW" | "DROP_SHADOW" | "FOREGROUND_BLUR" | "BACKGROUND_BLUR" | "REPEAT" | "SYMMETRY" | "GRAIN" | "NOISE" | "GLASS";
62
+ /**
63
+ * An effect applied to a node (shadow, blur, etc.).
64
+ * Maps to the Effect message in the Kiwi schema (42 fields).
65
+ * Only the most commonly used fields are typed here; the rest
66
+ * pass through via the catch-all index signature.
67
+ */
68
+ interface FigEffect {
69
+ type: FigEffectType;
70
+ color?: FigColor;
71
+ offset?: FigVector;
72
+ /** Blur radius. */
73
+ radius?: number;
74
+ /** Spread distance (shadows only). */
75
+ spread?: number;
76
+ visible?: boolean;
77
+ blendMode?: string;
78
+ /** When true the shadow renders behind the node (not clipped by it). */
79
+ showShadowBehindNode?: boolean;
80
+ /** Effect-level opacity (separate from color.a). */
81
+ opacity?: number;
82
+ /** Allow additional/future fields from the kiwi schema. */
83
+ [key: string]: any;
84
+ }
85
+ /** StrokeAlign enum: CENTER (0), INSIDE (1), OUTSIDE (2). */
86
+ type FigStrokeAlign = "CENTER" | "INSIDE" | "OUTSIDE";
87
+ /** StackMode enum: NONE (0), HORIZONTAL (1), VERTICAL (2), GRID (3). */
88
+ type FigStackMode = "NONE" | "HORIZONTAL" | "VERTICAL" | "GRID";
89
+ interface FigFontName {
90
+ family?: string;
91
+ style?: string;
92
+ postScriptName?: string;
93
+ }
94
+ /** TextAlignHorizontal: LEFT (0), CENTER (1), RIGHT (2), JUSTIFIED (3). */
95
+ type FigTextAlign = "LEFT" | "CENTER" | "RIGHT" | "JUSTIFIED";
16
96
  interface FigNode {
17
97
  guid: FigGuid;
18
98
  type: string;
@@ -22,28 +102,34 @@ interface FigNode {
22
102
  guid: FigGuid;
23
103
  position: string;
24
104
  };
25
- size?: {
26
- x: number;
27
- y: number;
28
- };
29
- transform?: {
30
- m00: number;
31
- m01: number;
32
- m02: number;
33
- m10: number;
34
- m11: number;
35
- m12: number;
36
- };
105
+ size?: FigVector;
106
+ transform?: FigTransform;
37
107
  fillPaints?: FigPaint[];
38
108
  strokePaints?: FigPaint[];
39
109
  strokeWeight?: number;
110
+ strokeAlign?: FigStrokeAlign;
40
111
  cornerRadius?: number;
112
+ opacity?: number;
113
+ effects?: FigEffect[];
41
114
  textData?: {
42
115
  characters: string;
116
+ lines?: any[];
43
117
  };
44
118
  fontSize?: number;
45
- opacity?: number;
119
+ fontName?: FigFontName;
120
+ textAlignHorizontal?: FigTextAlign;
121
+ paragraphSpacing?: number;
122
+ derivedTextData?: any;
46
123
  shapeWithTextType?: string;
124
+ /** True for group-like frames (Figma encodes groups as FRAME + resizeToFit). */
125
+ resizeToFit?: boolean;
126
+ /** Frame clips children when frameMaskDisabled is false (default). */
127
+ frameMaskDisabled?: boolean;
128
+ /** Auto-layout mode: HORIZONTAL, VERTICAL, GRID, or absent. */
129
+ stackMode?: FigStackMode;
130
+ stackPrimarySizing?: string;
131
+ stackCounterSizing?: string;
132
+ /** Allow additional fields from the kiwi schema. */
47
133
  [key: string]: any;
48
134
  }
49
135
  interface FigDocument {
@@ -166,4 +252,140 @@ declare function createEmptyFigDoc(): FigDocument;
166
252
  */
167
253
  declare function nodeId(node: FigNode): string | null;
168
254
 
169
- export { type AssembleCanvasFigInput, type CreateFigZipInput, type EncodedFigParts, type FigDocument, type FigGuid, type FigNode, type FigPaint, assembleCanvasFig, createEmptyFigDoc, createFigZip, encodeFigParts, nodeId, parseFig, parseFigBinary };
255
+ type GradientKind = "linear" | "radial";
256
+ interface GradientFillLike {
257
+ type: GradientKind;
258
+ transform: FigTransform;
259
+ }
260
+ interface RenderableGradientFill extends GradientFillLike {
261
+ opacity: number;
262
+ stops: FigGradientStop[];
263
+ }
264
+ interface GradientPoint {
265
+ x: number;
266
+ y: number;
267
+ }
268
+ interface ResolvedLinearGradientGeometry {
269
+ type: "linear";
270
+ start: GradientPoint;
271
+ end: GradientPoint;
272
+ }
273
+ interface ResolvedRadialGradientGeometry {
274
+ type: "radial";
275
+ center: GradientPoint;
276
+ radiusX: number;
277
+ radiusY: number;
278
+ angle: number;
279
+ }
280
+ type ResolvedGradientGeometry = ResolvedLinearGradientGeometry | ResolvedRadialGradientGeometry;
281
+ declare function extractRenderableGradientFill(paints: FigPaint[] | null | undefined): RenderableGradientFill | null;
282
+ declare function resolveGradientGeometry(fill: GradientFillLike, width: number, height: number): ResolvedGradientGeometry | null;
283
+
284
+ type GeometryRef = {
285
+ commandsBlob?: number;
286
+ windingRule?: string;
287
+ styleID?: number;
288
+ };
289
+ interface ResolvedGeometryPath {
290
+ blobIndex: number;
291
+ commandsBlob: Uint8Array;
292
+ svgPath: string;
293
+ windingRule?: string;
294
+ styleID: number;
295
+ paints?: FigPaint[];
296
+ }
297
+ interface ResolvedVectorNodePaths {
298
+ fill: ResolvedGeometryPath[];
299
+ stroke: ResolvedGeometryPath[];
300
+ }
301
+ type VectorPathCommand = {
302
+ type: "M";
303
+ x: number;
304
+ y: number;
305
+ } | {
306
+ type: "L";
307
+ x: number;
308
+ y: number;
309
+ } | {
310
+ type: "C";
311
+ c1x: number;
312
+ c1y: number;
313
+ c2x: number;
314
+ c2y: number;
315
+ x: number;
316
+ y: number;
317
+ } | {
318
+ type: "Z";
319
+ };
320
+ interface VectorGeometryInput {
321
+ svgPath?: string;
322
+ commands?: readonly VectorPathCommand[];
323
+ windingRule?: string;
324
+ styleID?: number;
325
+ }
326
+ interface VectorStyleOverride {
327
+ styleID: number;
328
+ fillPaints?: FigPaint[];
329
+ [key: string]: any;
330
+ }
331
+ interface AppendVectorPayloadInput {
332
+ width: number;
333
+ height: number;
334
+ normalizedWidth?: number;
335
+ normalizedHeight?: number;
336
+ fillPaths?: readonly VectorGeometryInput[];
337
+ /**
338
+ * Stroke geometry is expected to already be expanded into outline paths.
339
+ * This helper does not expand SVG strokes into strokeGeometry.
340
+ */
341
+ strokePaths?: readonly VectorGeometryInput[];
342
+ styleOverrideTable?: readonly VectorStyleOverride[];
343
+ }
344
+ interface AuthoredVectorPayload {
345
+ fillGeometry: GeometryRef[];
346
+ strokeGeometry: GeometryRef[];
347
+ vectorData: {
348
+ vectorNetworkBlob: number;
349
+ normalizedSize: {
350
+ x: number;
351
+ y: number;
352
+ };
353
+ styleOverrideTable?: VectorStyleOverride[];
354
+ };
355
+ }
356
+ declare function getBlobBytes(doc: FigDocument, blobIndex: number | null | undefined): Uint8Array | null;
357
+ declare function geometryBlobToSVGPath(blob: Uint8Array): string;
358
+ declare function parseSVGPathData(svgPath: string): VectorPathCommand[];
359
+ declare function encodeCommandsBlob(commands: readonly VectorPathCommand[], scaleX?: number, scaleY?: number): Uint8Array;
360
+ declare function encodeVectorNetworkBlob(pathCommandsList: readonly (readonly VectorPathCommand[])[]): Uint8Array;
361
+ declare function appendVectorPayloadToDocument(doc: FigDocument, input: AppendVectorPayloadInput): AuthoredVectorPayload;
362
+ declare function resolveVectorNodePaths(doc: FigDocument, node: FigNode): ResolvedVectorNodePaths;
363
+
364
+ /**
365
+ * CSS / hex color ↔ Figma normalized RGBA color helpers.
366
+ *
367
+ * All functions are isomorphic (no DOM required).
368
+ * For named CSS colors (e.g. "coral"), pass an optional `resolveNamed`
369
+ * callback that uses the browser's computed-style machinery.
370
+ */
371
+
372
+ declare function hexToFigColor(hex: string): FigColor;
373
+ declare function parseCssRgbColor(value: string): FigColor | null;
374
+ declare function cssColorToFigColor(value: string, resolveNamed?: (name: string) => FigColor | null): FigColor;
375
+ declare function makeSolidPaint(fill: string, resolveNamed?: (name: string) => FigColor | null): FigPaint;
376
+
377
+ /**
378
+ * SVG path serialization, transformation, and stroke/cap enum mapping.
379
+ */
380
+
381
+ declare function serializeSvgPathData(commands: readonly VectorPathCommand[]): string;
382
+ declare function transformSvgPathData(svgPath: string, { scaleX, scaleY, translateX, translateY, }: {
383
+ scaleX?: number;
384
+ scaleY?: number;
385
+ translateX?: number;
386
+ translateY?: number;
387
+ }): string;
388
+ declare function mapStrokeJoin(value: string | undefined): string;
389
+ declare function mapStrokeCap(value: string | undefined): string;
390
+
391
+ export { type AppendVectorPayloadInput, type AssembleCanvasFigInput, type AuthoredVectorPayload, type CreateFigZipInput, type EncodedFigParts, type FigColor, type FigDocument, type FigGradientStop, type FigGuid, type FigNode, type FigPaint, type FigTransform, type GradientFillLike, type GradientKind, type GradientPoint, type RenderableGradientFill, type ResolvedGeometryPath, type ResolvedGradientGeometry, type ResolvedLinearGradientGeometry, type ResolvedRadialGradientGeometry, type ResolvedVectorNodePaths, type VectorGeometryInput, type VectorPathCommand, type VectorStyleOverride, appendVectorPayloadToDocument, assembleCanvasFig, createEmptyFigDoc, createFigZip, cssColorToFigColor, encodeCommandsBlob, encodeFigParts, encodeVectorNetworkBlob, extractRenderableGradientFill, geometryBlobToSVGPath, getBlobBytes, hexToFigColor, makeSolidPaint, mapStrokeCap, mapStrokeJoin, nodeId, parseCssRgbColor, parseFig, parseFigBinary, parseSVGPathData, resolveGradientGeometry, resolveVectorNodePaths, serializeSvgPathData, transformSvgPathData };
package/dist/index.d.ts CHANGED
@@ -2,17 +2,97 @@ interface FigGuid {
2
2
  sessionID: number;
3
3
  localID: number;
4
4
  }
5
+ interface FigColor {
6
+ r: number;
7
+ g: number;
8
+ b: number;
9
+ a: number;
10
+ }
11
+ interface FigVector {
12
+ x: number;
13
+ y: number;
14
+ }
15
+ interface FigTransform {
16
+ m00: number;
17
+ m01: number;
18
+ m02: number;
19
+ m10: number;
20
+ m11: number;
21
+ m12: number;
22
+ }
23
+ interface FigGradientStop {
24
+ color: FigColor;
25
+ position: number;
26
+ colorVar?: any;
27
+ }
5
28
  interface FigPaint {
6
29
  type: string;
7
- color?: {
8
- r: number;
9
- g: number;
10
- b: number;
11
- a: number;
12
- };
30
+ color?: FigColor;
13
31
  opacity?: number;
14
32
  visible?: boolean;
33
+ blendMode?: string;
34
+ stops?: FigGradientStop[];
35
+ stopsVar?: FigGradientStop[];
36
+ transform?: FigTransform;
37
+ image?: {
38
+ hash?: Uint8Array | string;
39
+ [key: string]: any;
40
+ };
41
+ imageThumbnail?: {
42
+ hash?: Uint8Array | string;
43
+ [key: string]: any;
44
+ };
15
45
  }
46
+ /**
47
+ * EffectType enum values from the Kiwi schema.
48
+ *
49
+ * | Value | Name |
50
+ * |-------|-------------------|
51
+ * | 0 | INNER_SHADOW |
52
+ * | 1 | DROP_SHADOW |
53
+ * | 2 | FOREGROUND_BLUR |
54
+ * | 3 | BACKGROUND_BLUR |
55
+ * | 4 | REPEAT |
56
+ * | 5 | SYMMETRY |
57
+ * | 6 | GRAIN |
58
+ * | 7 | NOISE |
59
+ * | 8 | GLASS |
60
+ */
61
+ type FigEffectType = "INNER_SHADOW" | "DROP_SHADOW" | "FOREGROUND_BLUR" | "BACKGROUND_BLUR" | "REPEAT" | "SYMMETRY" | "GRAIN" | "NOISE" | "GLASS";
62
+ /**
63
+ * An effect applied to a node (shadow, blur, etc.).
64
+ * Maps to the Effect message in the Kiwi schema (42 fields).
65
+ * Only the most commonly used fields are typed here; the rest
66
+ * pass through via the catch-all index signature.
67
+ */
68
+ interface FigEffect {
69
+ type: FigEffectType;
70
+ color?: FigColor;
71
+ offset?: FigVector;
72
+ /** Blur radius. */
73
+ radius?: number;
74
+ /** Spread distance (shadows only). */
75
+ spread?: number;
76
+ visible?: boolean;
77
+ blendMode?: string;
78
+ /** When true the shadow renders behind the node (not clipped by it). */
79
+ showShadowBehindNode?: boolean;
80
+ /** Effect-level opacity (separate from color.a). */
81
+ opacity?: number;
82
+ /** Allow additional/future fields from the kiwi schema. */
83
+ [key: string]: any;
84
+ }
85
+ /** StrokeAlign enum: CENTER (0), INSIDE (1), OUTSIDE (2). */
86
+ type FigStrokeAlign = "CENTER" | "INSIDE" | "OUTSIDE";
87
+ /** StackMode enum: NONE (0), HORIZONTAL (1), VERTICAL (2), GRID (3). */
88
+ type FigStackMode = "NONE" | "HORIZONTAL" | "VERTICAL" | "GRID";
89
+ interface FigFontName {
90
+ family?: string;
91
+ style?: string;
92
+ postScriptName?: string;
93
+ }
94
+ /** TextAlignHorizontal: LEFT (0), CENTER (1), RIGHT (2), JUSTIFIED (3). */
95
+ type FigTextAlign = "LEFT" | "CENTER" | "RIGHT" | "JUSTIFIED";
16
96
  interface FigNode {
17
97
  guid: FigGuid;
18
98
  type: string;
@@ -22,28 +102,34 @@ interface FigNode {
22
102
  guid: FigGuid;
23
103
  position: string;
24
104
  };
25
- size?: {
26
- x: number;
27
- y: number;
28
- };
29
- transform?: {
30
- m00: number;
31
- m01: number;
32
- m02: number;
33
- m10: number;
34
- m11: number;
35
- m12: number;
36
- };
105
+ size?: FigVector;
106
+ transform?: FigTransform;
37
107
  fillPaints?: FigPaint[];
38
108
  strokePaints?: FigPaint[];
39
109
  strokeWeight?: number;
110
+ strokeAlign?: FigStrokeAlign;
40
111
  cornerRadius?: number;
112
+ opacity?: number;
113
+ effects?: FigEffect[];
41
114
  textData?: {
42
115
  characters: string;
116
+ lines?: any[];
43
117
  };
44
118
  fontSize?: number;
45
- opacity?: number;
119
+ fontName?: FigFontName;
120
+ textAlignHorizontal?: FigTextAlign;
121
+ paragraphSpacing?: number;
122
+ derivedTextData?: any;
46
123
  shapeWithTextType?: string;
124
+ /** True for group-like frames (Figma encodes groups as FRAME + resizeToFit). */
125
+ resizeToFit?: boolean;
126
+ /** Frame clips children when frameMaskDisabled is false (default). */
127
+ frameMaskDisabled?: boolean;
128
+ /** Auto-layout mode: HORIZONTAL, VERTICAL, GRID, or absent. */
129
+ stackMode?: FigStackMode;
130
+ stackPrimarySizing?: string;
131
+ stackCounterSizing?: string;
132
+ /** Allow additional fields from the kiwi schema. */
47
133
  [key: string]: any;
48
134
  }
49
135
  interface FigDocument {
@@ -166,4 +252,140 @@ declare function createEmptyFigDoc(): FigDocument;
166
252
  */
167
253
  declare function nodeId(node: FigNode): string | null;
168
254
 
169
- export { type AssembleCanvasFigInput, type CreateFigZipInput, type EncodedFigParts, type FigDocument, type FigGuid, type FigNode, type FigPaint, assembleCanvasFig, createEmptyFigDoc, createFigZip, encodeFigParts, nodeId, parseFig, parseFigBinary };
255
+ type GradientKind = "linear" | "radial";
256
+ interface GradientFillLike {
257
+ type: GradientKind;
258
+ transform: FigTransform;
259
+ }
260
+ interface RenderableGradientFill extends GradientFillLike {
261
+ opacity: number;
262
+ stops: FigGradientStop[];
263
+ }
264
+ interface GradientPoint {
265
+ x: number;
266
+ y: number;
267
+ }
268
+ interface ResolvedLinearGradientGeometry {
269
+ type: "linear";
270
+ start: GradientPoint;
271
+ end: GradientPoint;
272
+ }
273
+ interface ResolvedRadialGradientGeometry {
274
+ type: "radial";
275
+ center: GradientPoint;
276
+ radiusX: number;
277
+ radiusY: number;
278
+ angle: number;
279
+ }
280
+ type ResolvedGradientGeometry = ResolvedLinearGradientGeometry | ResolvedRadialGradientGeometry;
281
+ declare function extractRenderableGradientFill(paints: FigPaint[] | null | undefined): RenderableGradientFill | null;
282
+ declare function resolveGradientGeometry(fill: GradientFillLike, width: number, height: number): ResolvedGradientGeometry | null;
283
+
284
+ type GeometryRef = {
285
+ commandsBlob?: number;
286
+ windingRule?: string;
287
+ styleID?: number;
288
+ };
289
+ interface ResolvedGeometryPath {
290
+ blobIndex: number;
291
+ commandsBlob: Uint8Array;
292
+ svgPath: string;
293
+ windingRule?: string;
294
+ styleID: number;
295
+ paints?: FigPaint[];
296
+ }
297
+ interface ResolvedVectorNodePaths {
298
+ fill: ResolvedGeometryPath[];
299
+ stroke: ResolvedGeometryPath[];
300
+ }
301
+ type VectorPathCommand = {
302
+ type: "M";
303
+ x: number;
304
+ y: number;
305
+ } | {
306
+ type: "L";
307
+ x: number;
308
+ y: number;
309
+ } | {
310
+ type: "C";
311
+ c1x: number;
312
+ c1y: number;
313
+ c2x: number;
314
+ c2y: number;
315
+ x: number;
316
+ y: number;
317
+ } | {
318
+ type: "Z";
319
+ };
320
+ interface VectorGeometryInput {
321
+ svgPath?: string;
322
+ commands?: readonly VectorPathCommand[];
323
+ windingRule?: string;
324
+ styleID?: number;
325
+ }
326
+ interface VectorStyleOverride {
327
+ styleID: number;
328
+ fillPaints?: FigPaint[];
329
+ [key: string]: any;
330
+ }
331
+ interface AppendVectorPayloadInput {
332
+ width: number;
333
+ height: number;
334
+ normalizedWidth?: number;
335
+ normalizedHeight?: number;
336
+ fillPaths?: readonly VectorGeometryInput[];
337
+ /**
338
+ * Stroke geometry is expected to already be expanded into outline paths.
339
+ * This helper does not expand SVG strokes into strokeGeometry.
340
+ */
341
+ strokePaths?: readonly VectorGeometryInput[];
342
+ styleOverrideTable?: readonly VectorStyleOverride[];
343
+ }
344
+ interface AuthoredVectorPayload {
345
+ fillGeometry: GeometryRef[];
346
+ strokeGeometry: GeometryRef[];
347
+ vectorData: {
348
+ vectorNetworkBlob: number;
349
+ normalizedSize: {
350
+ x: number;
351
+ y: number;
352
+ };
353
+ styleOverrideTable?: VectorStyleOverride[];
354
+ };
355
+ }
356
+ declare function getBlobBytes(doc: FigDocument, blobIndex: number | null | undefined): Uint8Array | null;
357
+ declare function geometryBlobToSVGPath(blob: Uint8Array): string;
358
+ declare function parseSVGPathData(svgPath: string): VectorPathCommand[];
359
+ declare function encodeCommandsBlob(commands: readonly VectorPathCommand[], scaleX?: number, scaleY?: number): Uint8Array;
360
+ declare function encodeVectorNetworkBlob(pathCommandsList: readonly (readonly VectorPathCommand[])[]): Uint8Array;
361
+ declare function appendVectorPayloadToDocument(doc: FigDocument, input: AppendVectorPayloadInput): AuthoredVectorPayload;
362
+ declare function resolveVectorNodePaths(doc: FigDocument, node: FigNode): ResolvedVectorNodePaths;
363
+
364
+ /**
365
+ * CSS / hex color ↔ Figma normalized RGBA color helpers.
366
+ *
367
+ * All functions are isomorphic (no DOM required).
368
+ * For named CSS colors (e.g. "coral"), pass an optional `resolveNamed`
369
+ * callback that uses the browser's computed-style machinery.
370
+ */
371
+
372
+ declare function hexToFigColor(hex: string): FigColor;
373
+ declare function parseCssRgbColor(value: string): FigColor | null;
374
+ declare function cssColorToFigColor(value: string, resolveNamed?: (name: string) => FigColor | null): FigColor;
375
+ declare function makeSolidPaint(fill: string, resolveNamed?: (name: string) => FigColor | null): FigPaint;
376
+
377
+ /**
378
+ * SVG path serialization, transformation, and stroke/cap enum mapping.
379
+ */
380
+
381
+ declare function serializeSvgPathData(commands: readonly VectorPathCommand[]): string;
382
+ declare function transformSvgPathData(svgPath: string, { scaleX, scaleY, translateX, translateY, }: {
383
+ scaleX?: number;
384
+ scaleY?: number;
385
+ translateX?: number;
386
+ translateY?: number;
387
+ }): string;
388
+ declare function mapStrokeJoin(value: string | undefined): string;
389
+ declare function mapStrokeCap(value: string | undefined): string;
390
+
391
+ export { type AppendVectorPayloadInput, type AssembleCanvasFigInput, type AuthoredVectorPayload, type CreateFigZipInput, type EncodedFigParts, type FigColor, type FigDocument, type FigGradientStop, type FigGuid, type FigNode, type FigPaint, type FigTransform, type GradientFillLike, type GradientKind, type GradientPoint, type RenderableGradientFill, type ResolvedGeometryPath, type ResolvedGradientGeometry, type ResolvedLinearGradientGeometry, type ResolvedRadialGradientGeometry, type ResolvedVectorNodePaths, type VectorGeometryInput, type VectorPathCommand, type VectorStyleOverride, appendVectorPayloadToDocument, assembleCanvasFig, createEmptyFigDoc, createFigZip, cssColorToFigColor, encodeCommandsBlob, encodeFigParts, encodeVectorNetworkBlob, extractRenderableGradientFill, geometryBlobToSVGPath, getBlobBytes, hexToFigColor, makeSolidPaint, mapStrokeCap, mapStrokeJoin, nodeId, parseCssRgbColor, parseFig, parseFigBinary, parseSVGPathData, resolveGradientGeometry, resolveVectorNodePaths, serializeSvgPathData, transformSvgPathData };