import type { Addon, Workspace, PackageManager, OptionValues, AddonSetupResult, AddonWithoutExplicitArgs } from '@sveltejs/cli-core';
export type InstallOptions<Addons extends AddonMap> = {
    cwd: string;
    addons: Addons;
    options: OptionMap<Addons>;
    packageManager?: PackageManager;
};
export type AddonMap = Record<string, Addon<any>>;
export type OptionMap<Addons extends AddonMap> = {
    [K in keyof Addons]: Partial<OptionValues<Addons[K]['options']>>;
};
export declare function installAddon<Addons extends AddonMap>({ addons, cwd, options, packageManager }: InstallOptions<Addons>): Promise<ReturnType<typeof applyAddons>>;
export type ApplyAddonOptions = {
    addons: AddonMap;
    options: OptionMap<AddonMap>;
    workspace: Workspace<any>;
    addonSetupResults: Record<string, AddonSetupResult>;
};
export declare function applyAddons({ addons, workspace, addonSetupResults, options }: ApplyAddonOptions): Promise<{
    filesToFormat: string[];
    pnpmBuildDependencies: string[];
}>;
export declare function setupAddons(addons: AddonWithoutExplicitArgs[], workspace: Workspace<any>): Record<string, AddonSetupResult>;
