import { SettingsService } from '@sprucelabs/spruce-skill-utils';
import AbstractFeature from '../features/AbstractFeature';
import PkgService from '../services/PkgService';
import { GraphicsInterface } from '../types/cli.types';
export default class ScriptUpdaterImpl implements ScriptUpdater {
    private pkg;
    private latestScripts;
    private shouldConfirmIfScriptExistsButIsDifferent;
    private ui;
    private settings;
    static Class?: new (options: ScriptUpdaterContructorOptions) => ScriptUpdater;
    constructor(options: ScriptUpdaterContructorOptions);
    static FromFeature(feature: AbstractFeature, options?: {
        cwd?: string;
        latestScripts?: Record<string, any>;
    }): ScriptUpdater;
    update(options?: {
        shouldConfirmIfScriptExistsButIsDifferent?: boolean;
    }): Promise<void>;
}
export interface ScriptUpdater {
    update(options?: {
        shouldConfirmIfScriptExistsButIsDifferent?: boolean;
    }): Promise<void>;
}
interface ScriptUpdaterContructorOptions {
    pkg: PkgService;
    latestScripts: Record<string, any>;
    shouldConfirmIfScriptExistsButIsDifferent?: boolean;
    ui: GraphicsInterface;
    settings: SettingsService;
}
export {};
