export interface FigmaNode { id: string; name: string; type: string; text?: string; layout?: { x: number; y: number; width: number; height: number; horizontalSizing?: 'fixed' | 'fill' | 'hug'; verticalSizing?: 'fixed' | 'fill' | 'hug'; alignSelf?: string; mode?: 'row' | 'column' | 'none'; paddingTop?: number; paddingRight?: number; paddingBottom?: number; paddingLeft?: number; gap?: number; direction?: string; align?: string; justify?: string; /** 'ABSOLUTE' means this node is absolutely positioned within an Auto Layout parent */ layoutPositioning?: 'ABSOLUTE' | 'AUTO'; /** Constraint for absolute children: 'LEFT' | 'RIGHT' | 'CENTER' | 'SCALE' | 'LEFT_RIGHT' */ constraintHorizontal?: string; /** Constraint for absolute children: 'TOP' | 'BOTTOM' | 'CENTER' | 'SCALE' | 'TOP_BOTTOM' */ constraintVertical?: string; }; style?: { backgroundColor?: string; borderRadius?: number | string; boxShadow?: string; backdropFilter?: string; opacity?: number; overflow?: string; border?: string; }; textStyle?: { fontFamily?: string; fontSize?: number; fontWeight?: number | string; color?: string; lineHeight?: number | string; letterSpacing?: number | string; textAlign?: string; textDecoration?: string; }; /** Styled text segments — when text has mixed colors/weights within a single TEXT node */ styledSegments?: Array<{ text: string; color?: string; fontWeight?: number | string; fontFamily?: string; fontSize?: number; fontStyle?: string; textDecoration?: string; }>; fills?: string | string[]; imageRef?: string; componentId?: string; /** Variable bindings: property path → VariableID (e.g. "fills.0.color" → "VariableID:123:456") */ _variableBindings?: Record; children?: FigmaNode[]; _path?: string[]; _imageFailed?: boolean; _visible?: boolean; _absX?: number; _absY?: number; } export interface ParsedFigmaData { metadata?: Record; nodes: FigmaNode[]; layouts: Record; fills: Record; styles: Record; textStyles: Record; } interface LayoutDef { x?: number; y?: number; width?: number; height?: number; paddingTop?: number; paddingRight?: number; paddingBottom?: number; paddingLeft?: number; gap?: number; direction?: string; align?: string; justify?: string; [key: string]: unknown; } interface FillDef { color?: string; background?: string; [key: string]: unknown; } interface StyleDef { backgroundColor?: string; borderRadius?: number | string; boxShadow?: string; backdropFilter?: string; opacity?: number; overflow?: string; border?: string; [key: string]: unknown; } interface TextStyleDef { fontFamily?: string; fontSize?: number; fontWeight?: number | string; color?: string; lineHeight?: number | string; letterSpacing?: number | string; textAlign?: string; textDecoration?: string; [key: string]: unknown; } export declare function parseYaml(rawInput: string): ParsedFigmaData; export {}; //# sourceMappingURL=parser.d.ts.map