import type { GeminiMultimodalInput, GeminiAttachmentRef, MultimodalSpecFlowResult } from '../../types/gemini.js';
/**
 * Analyse Gemini's multimodal content parts to determine input shape.
 * Does not perform I/O — purely inspects the attachment metadata.
 */
export declare function analyseMultimodalInput(attachmentRefs: GeminiAttachmentRef[]): GeminiMultimodalInput;
export type { MultimodalSpecFlowResult } from '../../types/gemini.js';
/**
 * Execute the multimodal spec-creation pipeline.
 *
 * When Gemini provides an image attachment:
 *   1. Calls injectComponentContextFn with visual description hint
 *   2. If Figma tokens are detected, calls extractFigmaTokensFn
 *
 * The caller provides the actual tool functions as dependencies
 * (ports & adapters pattern — keeps this module free of direct MCP coupling).
 *
 * @param input - Analysed multimodal input from analyseMultimodalInput()
 * @param projectPath - Project root path for context injection
 * @param injectComponentContextFn - Port for inject_component_context tool
 * @param extractFigmaTokensFn - Port for figma-tokens extraction tool
 */
export declare function runMultimodalSpecFlow(input: GeminiMultimodalInput, projectPath: string, injectComponentContextFn: (projectPath: string, hint: string) => Promise<string>, extractFigmaTokensFn: (projectPath: string) => Promise<string>): Promise<MultimodalSpecFlowResult>;
//# sourceMappingURL=multimodal-spec-flow.d.ts.map