/**
 * Refresh SpecWeave Plugins
 *
 * When Claude Code CLI is available and supports plugin commands, uses the
 * native `claude plugin install` flow for proper marketplace registration,
 * settings enablement, and scope management.
 *
 * Falls back to direct file copy into .claude/skills/ when Claude CLI is
 * unavailable (e.g. Cursor, Windsurf, or other non-Claude tools).
 *
 * @since 1.0.279
 * @updated 1.0.535 - Migrated from CLI-based install to direct file copy
 * @updated 1.0.475 - Restored native Claude CLI install when available
 * @updated 1.0.540 - Core-only default install + --plugin flag + --quiet mode
 */
export interface RefreshResult {
    failed: number;
    errors: string[];
}
export interface RefreshPluginsOptions {
    verbose?: boolean;
    force?: boolean;
    /** Install all plugins from marketplace.json, not just core (sw). */
    all?: boolean;
    /** Install a single named plugin. Takes precedence over --all. */
    plugin?: string;
    /** Suppress console output (for use by hooks). */
    quiet?: boolean;
}
export interface ResolvedAdapter {
    name: string;
    method: 'native-cli' | 'file-copy';
    skillsDir: string;
}
/**
 * Determine the active adapter for plugin installation.
 *
 * Resolution order:
 * 1. Read config.adapters.default from .specweave/config.json
 * 2. If non-Claude adapter with known mapping → file-copy to adapter's skills dir
 * 3. If unknown adapter → warn and fall through to Claude detection
 * 4. If Claude or unset → detectClaudeCli() for native-cli or file-copy fallback
 */
export declare function resolveActiveAdapter(projectRoot: string): ResolvedAdapter;
/**
 * Refresh plugins using the best available installation method.
 *
 * By default, only installs the core `sw` plugin. Use `--all` to install
 * all plugins from marketplace.json, or `--plugin <name>` for a single one.
 *
 * When Claude Code CLI is available, uses native `claude plugin install` for
 * proper marketplace registration, scope management, and settings enablement.
 * Falls back to direct file copy when CLI is unavailable.
 */
export declare function refreshPluginsCommand(options?: RefreshPluginsOptions): Promise<RefreshResult>;
//# sourceMappingURL=refresh-plugins.d.ts.map