import type { ProjectPaths } from '../core/paths.js'; import type { AgentsConfig, IntegrationName, ResolvedMcpServer } from '../types.js'; interface BuildGeneratedResult { content: string; warnings: string[]; } interface HookContext { projectRoot: string; paths: ProjectPaths; check: boolean; changed: string[]; warnings: string[]; config: AgentsConfig; generatedByIntegration: Partial>; enabled: boolean; previousGeneratedByIntegration?: Partial>; } export interface IntegrationSyncHook { id: IntegrationName; generatedPath: (paths: ProjectPaths) => string; buildGenerated: (servers: ResolvedMcpServer[]) => BuildGeneratedResult; shouldMaterialize?: (config: AgentsConfig) => boolean; materializeWhenDisabled?: boolean; materialize?: (context: HookContext) => Promise; } export declare const INTEGRATION_SYNC_HOOKS: IntegrationSyncHook[]; export {};