/**
 * CAAMP Adapter - Canonical implementation
 *
 * Wraps @cleocode/caamp APIs for use across CLEO subsystems.
 * Provides provider registry, MCP config management, injection operations,
 * and batch/orchestration functions as EngineResult-returning functions.
 *
 * This is the SINGLE SOURCE OF TRUTH for all CAAMP adapter logic.
 * MCP engine layer re-exports from here.
 *
 * @task T4678
 * @task T4705
 * @epic T4663
 */
import { type BatchInstallOptions, type BatchInstallResult, buildServerConfig, type DetectionResult, type DualScopeConfigureOptions, type DualScopeConfigureResult, generateInjectionContent, getInstructionFiles, type InjectionStatus, type InstallResult, type McpServerConfig, type Provider, resolveAlias } from '@cleocode/caamp';
export type { EngineResult } from '../engine-result.js';
import type { EngineResult } from '../engine-result.js';
/**
 * List all registered providers.
 * @task T4332
 */
export declare function providerList(): EngineResult<Provider[]>;
/**
 * Get a single provider by ID or alias.
 * @task T4332
 */
export declare function providerGet(idOrAlias: string): EngineResult<Provider>;
/**
 * Detect all providers installed on the system.
 * @task T4332
 */
export declare function providerDetect(): EngineResult<DetectionResult[]>;
/**
 * Get providers that are installed on the system.
 * @task T4332
 */
export declare function providerInstalled(): EngineResult<Provider[]>;
/**
 * Get count of registered providers.
 * @task T4332
 */
export declare function providerCount(): EngineResult<{
    count: number;
}>;
/**
 * Get CAAMP registry version.
 * @task T4332
 */
export declare function registryVersion(): EngineResult<{
    version: string;
}>;
/**
 * List MCP servers for a specific provider.
 * @task T4332
 */
export declare function mcpList(providerId: string, scope: 'project' | 'global', projectDir?: string): Promise<EngineResult<{
    servers: unknown[];
}>>;
/**
 * List MCP servers across all installed providers.
 * @task T4332
 */
export declare function mcpListAll(scope: 'project' | 'global', projectDir?: string): Promise<EngineResult<{
    servers: unknown[];
}>>;
/**
 * Install an MCP server to a provider's config.
 * @task T4332
 */
export declare function mcpInstall(providerId: string, serverName: string, config: McpServerConfig, scope?: 'project' | 'global', projectDir?: string): Promise<EngineResult<InstallResult>>;
/**
 * Remove an MCP server from a provider's config.
 * @task T4332
 */
export declare function mcpRemove(providerId: string, serverName: string, scope: 'project' | 'global', projectDir?: string): Promise<EngineResult<{
    removed: boolean;
}>>;
/**
 * Resolve the config file path for a provider.
 * @task T4332
 */
export declare function mcpConfigPath(providerId: string, scope: 'project' | 'global', projectDir?: string): EngineResult<{
    path: string | null;
}>;
/**
 * Check injection status for a single file.
 * @task T4332
 */
export declare function injectionCheck(filePath: string, expectedContent?: string): Promise<EngineResult<InjectionStatus>>;
/**
 * Check injection status across all providers.
 * @task T4332
 */
export declare function injectionCheckAll(projectDir: string, scope: 'project' | 'global', expectedContent?: string): Promise<EngineResult<{
    results: unknown[];
}>>;
/**
 * Inject or update content in a single file.
 * @task T4332
 */
export declare function injectionUpdate(filePath: string, content: string): Promise<EngineResult<{
    action: string;
}>>;
/**
 * Inject content to all providers' instruction files.
 * @task T4332
 */
export declare function injectionUpdateAll(projectDir: string, scope: 'project' | 'global', content: string): Promise<EngineResult<{
    results: Record<string, string>;
}>>;
/**
 * Install multiple MCP servers atomically with rollback on failure.
 * Supports Wave 4 init rewrite which needs to install multiple
 * skills/configs as a single atomic operation.
 *
 * @task T4705
 * @epic T4663
 */
export declare function batchInstallWithRollback(options: BatchInstallOptions): Promise<EngineResult<BatchInstallResult>>;
/**
 * Configure a provider at both global and project scope simultaneously.
 * Used during init to set up MCP configs in both scopes atomically.
 *
 * @task T4705
 * @epic T4663
 */
export declare function dualScopeConfigure(providerId: string, options: DualScopeConfigureOptions): Promise<EngineResult<DualScopeConfigureResult>>;
export type { BatchInstallOptions as CaampBatchInstallOptions, BatchInstallResult as CaampBatchInstallResult, DetectionResult as CaampDetectionResult, DualScopeConfigureOptions as CaampDualScopeConfigureOptions, DualScopeConfigureResult as CaampDualScopeConfigureResult, InjectionStatus as CaampInjectionStatus, InstallResult as CaampInstallResult, McpServerConfig as CaampMcpServerConfig, Provider as CaampProvider, };
export { buildServerConfig as caampBuildServerConfig, generateInjectionContent as caampGenerateInjectionContent, getInstructionFiles as caampGetInstructionFiles, resolveAlias as caampResolveAlias, };
//# sourceMappingURL=adapter.d.ts.map