import type { Platform, ComponentDefinition } from 'foundry-design-protocol'; export type Agent = 'codex' | 'cursor' | 'claude'; export type WebFramework = 'next' | 'vite' | 'html' | 'generic'; export interface FoundryProjectConfig { version: 1 | 2; platform: Platform; framework?: WebFramework; runtimeUrl: string; targetUrl?: string; devCommand?: { command: string; args: string[]; }; instrumented: boolean; mode?: 'precision' | 'basic'; connection?: { mode: 'global' | 'project'; }; design?: { tokenFiles?: string[]; componentRoots?: string[]; components?: ComponentDefinition[]; exclude?: string[]; viewports?: Array<{ id: string; label: string; width: number; height?: number; }>; themes?: Array<{ id: string; label: string; selector?: string; attribute?: string; value?: string; source?: { file: string; line?: number; column?: number; symbol?: string; }; confidence?: 'measured' | 'instrumented' | 'inferred' | 'unresolved'; evidence?: string[]; }>; states?: Array<{ id: string; label: string; viewport?: { width: number; height: number; }; theme?: string; variant?: Record; pseudoStates?: Array<'hover' | 'focus' | 'active' | 'disabled'>; reducedMotion?: boolean; query?: Record; confidence?: 'measured' | 'instrumented' | 'inferred' | 'unresolved'; evidence?: string[]; }>; }; } export interface SetupValidationResult { name: 'typecheck' | 'lint'; status: 'passed' | 'pre-existing-failure' | 'skipped'; command?: string; message?: string; } export interface SetupOptions { agents?: Agent[]; targetUrl?: string; runtimeUrl?: string; packageRoot?: string; skillRoot?: string; environment?: Record; update?: boolean; } export interface SetupPlan { root: string; platform: Platform; framework?: WebFramework; agents: Agent[]; files: string[]; integrationFile?: string; targetUrl?: string; devCommand?: { command: string; args: string[]; }; skillDirectories: string[]; } export interface SetupResult extends SetupPlan { changed: string[]; preserved: string[]; validation: SetupValidationResult[]; } export interface UninstallResult { removed: string[]; preserved: string[]; } export declare function detectWebFramework(root: string): Promise; export declare function createSetupPlan(rootInput: string, options?: SetupOptions): Promise; export declare function installAgentIntegration(rootInput: string, agent: Agent, packageRoot?: string): Promise; export interface HostAgentIntegration { configFile: string; skillDirectory: string; preserved: string[]; } export interface HostAgentUninstallResult { configFile: string; removed: string[]; preserved: string[]; } /** Install one reusable user-level connection without placing MCP config in every project. */ export declare function installHostAgentIntegration(homeInput: string, agent: Agent, options?: Pick): Promise; /** Remove only Foundry-owned user-level configuration and skill files. */ export declare function uninstallHostAgentIntegration(homeInput: string, agent: Agent): Promise; export declare function createUpdatePlan(rootInput: string, options?: SetupOptions): Promise; export declare function updateProject(rootInput: string, options?: SetupOptions): Promise; export declare function setupProject(rootInput: string, options?: SetupOptions): Promise; export declare function uninstallProject(rootInput: string): Promise; //# sourceMappingURL=installer.d.ts.map