import type { DaoCoreConfig } from "../config/types.daocore.js";
import type { PluginPackageInstall } from "../plugins/manifest.js";
import type { RuntimeEnv } from "../runtime.js";
import type { WizardPrompter } from "../wizard/prompts.js";
export type OnboardingPluginInstallEntry = {
    pluginId: string;
    label: string;
    install: PluginPackageInstall;
    trustedSourceLinkedOfficialInstall?: boolean;
    preferRemoteInstall?: boolean;
};
export type OnboardingPluginInstallStatus = "installed" | "skipped" | "failed" | "timed_out";
export type OnboardingPluginInstallResult = {
    cfg: DaoCoreConfig;
    installed: boolean;
    pluginId: string;
    status: OnboardingPluginInstallStatus;
};
export declare function ensureOnboardingPluginInstalled(params: {
    cfg: DaoCoreConfig;
    entry: OnboardingPluginInstallEntry;
    prompter: WizardPrompter;
    runtime: RuntimeEnv;
    workspaceDir?: string;
    promptInstall?: boolean;
    autoConfirmSingleSource?: boolean;
}): Promise<OnboardingPluginInstallResult>;
