import type { SimplifiedDesign } from "./figma/extractors/types.js"; export interface FigmaConfig { apiKey?: string; oauthToken?: string; useOAuth: boolean; } /** * Options for controlling what data is extracted and how it's formatted. * All options default to false to preserve backward compatibility. */ export interface FigmaDataOptions { /** Remove all styling info (fills, strokes, effects, textStyle, opacity, borderRadius) */ excludeStyles?: boolean; /** Convert TABLE nodes to markdown format */ tablesToMarkdown?: boolean; /** Simplify CONNECTOR nodes to just endpoints (startNodeId, endNodeId) */ simplifyConnectors?: boolean; /** Keep componentId and componentProperties but remove visual styling from INSTANCE nodes */ simplifyComponentInstances?: boolean; /** Override which extractors to use: "layout", "text", "visuals", "component" */ extractors?: ("layout" | "text" | "visuals" | "component")[]; } /** * Service for interacting with the Figma API * Follows the service pattern established by PowerPlatformService */ export declare class FigmaService { private config; private readonly baseUrl; constructor(config: FigmaConfig); /** * Get authentication headers based on configuration */ private getAuthHeaders; /** * Make an authenticated request to the Figma API */ private request; /** * Get raw Figma API response for a file * @param fileKey - The Figma file key from the URL * @param depth - Optional depth limit for traversal */ private getFigmaFile; /** * Get raw Figma API response for specific nodes * @param fileKey - The Figma file key from the URL * @param nodeIds - Array of node IDs to fetch * @param depth - Optional depth limit for traversal */ private getFigmaNodes; /** * Get comprehensive Figma design data in simplified, AI-friendly format * This is the main method exposed to MCP tools * * @param fileKey - The Figma file key from the URL * @param nodeId - Optional specific node ID(s) to fetch (format: "1:10" or "1:10;2:20") * @param depth - Optional tree traversal depth limit * @param dataOptions - Optional optimization options for reducing output size * @returns Simplified design data ready for AI consumption */ getFigmaData(fileKey: string, nodeId?: string, depth?: number, dataOptions?: FigmaDataOptions): Promise; } //# sourceMappingURL=FigmaService.d.ts.map