export interface FigmaNode { id: string; name: string; type: string; visible?: boolean; fills?: any[]; strokes?: any[]; strokeWeight?: number; cornerRadius?: number; effects?: any[]; constraints?: any; componentId?: string; absoluteBoundingBox?: { x: number; y: number; width: number; height: number; }; style?: { fontFamily?: string; fontSize?: number; fontWeight?: number; letterSpacing?: number; lineHeightPx?: number; textAlignHorizontal?: string; textAlignVertical?: string; }; children?: FigmaNode[]; } export interface FigmaFile { name: string; lastModified: string; version: string; document: FigmaNode; components: Record; styles: Record; } export interface FigmaUrlInfo { fileId: string; nodeId?: string; } export interface ImageResource { id: string; name: string; url?: string; type: 'EMBEDDED' | 'EXTERNAL'; format?: string; size?: { width: number; height: number; }; } export interface VectorElement { id: string; name: string; type: string; svg?: string; paths?: string[]; fills?: any[]; strokes?: any[]; boundingBox?: { x: number; y: number; width: number; height: number; }; } export interface DesignElement { id: string; name: string; type: 'IMAGE' | 'VECTOR' | 'TEXT' | 'COMPONENT'; data: ImageResource | VectorElement | any; } export interface NodeElements { nodeId: string; nodeName: string; images: ImageResource[]; vectors: VectorElement[]; components: any[]; totalElements: number; } export declare class FigmaService { private accessToken; private api; constructor(accessToken: string); /** * 解析Figma URL获取文件ID和节点ID */ parseUrl(url: string): FigmaUrlInfo; /** * 获取文件信息 */ getFile(fileId: string): Promise; /** * 获取节点的详细信息(包含完整的属性和子树) */ getNodeDetails(fileId: string, nodeId: string): Promise; /** * 获取特定节点信息(向后兼容) */ getNode(fileId: string, nodeId: string): Promise; /** * 递归遍历节点树,收集所有子节点 */ traverseNodeTree(node: FigmaNode, collector: (node: FigmaNode) => void): void; /** * 获取节点的SVG数据 */ getNodeAsSVG(fileId: string, nodeId: string): Promise; /** * 获取文件中的所有图片资源引用 */ getFileImageReferences(fileId: string): Promise>; /** * 导出图片 */ exportImage(fileId: string, nodeIds: string[], options?: { format?: 'jpg' | 'png' | 'svg' | 'pdf'; scale?: number; version?: string; }): Promise>; /** * 导出图片批次(带重试机制) */ private exportImageBatch; /** * 延迟函数 */ private delay; /** * 获取文件样式 */ getFileStyles(fileId: string): Promise>; } //# sourceMappingURL=figma-service.d.ts.map