/**
 * Instance Manager (Simplified)
 *
 * Manages isolated Claude CLI instances per profile for concurrent sessions.
 * Each instance is an isolated CLAUDE_CONFIG_DIR where users login directly.
 * No credential copying/encryption - Claude manages credentials per instance.
 */
import type { AccountContextPolicy } from '../auth/account-context';
/** Options for instance creation */
export interface InstanceOptions {
    /** Skip shared symlinks (commands, skills, agents, settings.json) */
    bare?: boolean;
}
/**
 * Instance Manager Class
 */
declare class InstanceManager {
    private readonly instancesDir;
    private readonly sharedManager;
    private readonly contextSyncLock;
    private readonly pluginLayoutLock;
    constructor();
    /**
     * Ensure instance exists for profile (lazy init only)
     */
    ensureInstance(profileName: string, contextPolicy?: AccountContextPolicy, options?: InstanceOptions): Promise<string>;
    /**
     * Get instance path for profile
     */
    getInstancePath(profileName: string): string;
    /**
     * Initialize new instance directory
     */
    private initializeInstance;
    /**
     * Validate instance directory structure (auto-fix missing directories)
     */
    private validateInstance;
    /**
     * Delete instance for profile
     */
    deleteInstance(profileName: string): Promise<void>;
    /**
     * List all instance names
     */
    listInstances(): string[];
    /**
     * Check if instance exists for profile
     */
    hasInstance(profileName: string): boolean;
    /**
     * Sync MCP servers from global ~/.claude.json to instance .claude.json.
     * Selectively copies only mcpServers key (not OAuth sessions or caches).
     */
    syncMcpServers(instancePath: string): boolean;
    /**
     * Sanitize profile name for filesystem
     */
    private sanitizeName;
}
export { InstanceManager };
export default InstanceManager;
//# sourceMappingURL=instance-manager.d.ts.map