import { P as PackageManagerOptions, a as PackageManagerType } from '../getPackageVersion-t1XC06xb.cjs';
export { E as ExecOptions, f as LockFileMap, L as Logger, d as ProcessOutput, c as copyDirectory, e as exec, g as getAbsoluteDirPath, b as getPackageVersion } from '../getPackageVersion-t1XC06xb.cjs';
import signale__default from 'signale';

/**
 * @function
 * @memberof Utils
 * @description Feedback object that facilitates log display.
 * It includes all logging methods provided by 'signale'.
 * If the environment variable CLEAN_OUTPUT_MODE is set to 'true', all log methods use console.log,
 * providing cleaner and unstyled output. This is particularly useful
 * for other clients intending to use Vulcan
 * in the background, where stylized console output may be less desirable.
 * For more information about the Signale logging methods, refer to its documentation (https://github.com/klaussinani/signale).
 */
declare const feedback: {
    globalScope: (scope?: string) => {
        interactive: {
            config(configObj: signale__default.SignaleConfig): signale__default.Signale<signale__default.DefaultMethods>;
            scope(...name: string[]): signale__default.Signale<signale__default.DefaultMethods>;
            unscope(): void;
            time(label?: string): string;
            timeEnd(label?: string, span?: number): {
                label: string;
                span?: number | undefined;
            };
            disable(): void;
            enable(): void;
            isEnabled(): boolean;
            addSecrets(secrets: string[] | number[]): void;
            clearSecrets(): void;
            await: signale__default.LoggerFunc;
            complete: signale__default.LoggerFunc;
            error: signale__default.LoggerFunc;
            debug: signale__default.LoggerFunc;
            fatal: signale__default.LoggerFunc;
            fav: signale__default.LoggerFunc;
            info: signale__default.LoggerFunc;
            note: signale__default.LoggerFunc;
            pause: signale__default.LoggerFunc;
            pending: signale__default.LoggerFunc;
            star: signale__default.LoggerFunc;
            start: signale__default.LoggerFunc;
            success: signale__default.LoggerFunc;
            warn: signale__default.LoggerFunc;
            watch: signale__default.LoggerFunc;
            log: signale__default.LoggerFunc;
            breakInteractiveChain: () => void;
        };
        server: {
            interactive: signale__default.SignaleBase<signale__default.DefaultMethods> & Record<signale__default.DefaultMethods, signale__default.LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: signale__default.SignaleConfig): signale__default.Signale<"deployed" | "option">;
            scope(...name: string[]): signale__default.Signale<"deployed" | "option">;
            unscope(): void;
            time(label?: string): string;
            timeEnd(label?: string, span?: number): {
                label: string;
                span?: number | undefined;
            };
            disable(): void;
            enable(): void;
            isEnabled(): boolean;
            addSecrets(secrets: string[] | number[]): void;
            clearSecrets(): void;
            deployed: signale__default.LoggerFunc;
            option: signale__default.LoggerFunc;
            await: signale__default.LoggerFunc;
            complete: signale__default.LoggerFunc;
            error: signale__default.LoggerFunc;
            debug: signale__default.LoggerFunc;
            fatal: signale__default.LoggerFunc;
            fav: signale__default.LoggerFunc;
            info: signale__default.LoggerFunc;
            note: signale__default.LoggerFunc;
            pause: signale__default.LoggerFunc;
            pending: signale__default.LoggerFunc;
            star: signale__default.LoggerFunc;
            start: signale__default.LoggerFunc;
            success: signale__default.LoggerFunc;
            warn: signale__default.LoggerFunc;
            watch: signale__default.LoggerFunc;
            log: signale__default.LoggerFunc;
        };
        runtime: {
            interactive: signale__default.SignaleBase<signale__default.DefaultMethods> & Record<signale__default.DefaultMethods, signale__default.LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: signale__default.SignaleConfig): signale__default.Signale<"deployed" | "option">;
            scope(...name: string[]): signale__default.Signale<"deployed" | "option">;
            unscope(): void;
            time(label?: string): string;
            timeEnd(label?: string, span?: number): {
                label: string;
                span?: number | undefined;
            };
            disable(): void;
            enable(): void;
            isEnabled(): boolean;
            addSecrets(secrets: string[] | number[]): void;
            clearSecrets(): void;
            deployed: signale__default.LoggerFunc;
            option: signale__default.LoggerFunc;
            await: signale__default.LoggerFunc;
            complete: signale__default.LoggerFunc;
            error: signale__default.LoggerFunc;
            debug: signale__default.LoggerFunc;
            fatal: signale__default.LoggerFunc;
            fav: signale__default.LoggerFunc;
            info: signale__default.LoggerFunc;
            note: signale__default.LoggerFunc;
            pause: signale__default.LoggerFunc;
            pending: signale__default.LoggerFunc;
            star: signale__default.LoggerFunc;
            start: signale__default.LoggerFunc;
            success: signale__default.LoggerFunc;
            warn: signale__default.LoggerFunc;
            watch: signale__default.LoggerFunc;
            log: signale__default.LoggerFunc;
        };
        prebuild: {
            interactive: signale__default.SignaleBase<signale__default.DefaultMethods> & Record<signale__default.DefaultMethods, signale__default.LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: signale__default.SignaleConfig): signale__default.Signale<"deployed" | "option">;
            scope(...name: string[]): signale__default.Signale<"deployed" | "option">;
            unscope(): void;
            time(label?: string): string;
            timeEnd(label?: string, span?: number): {
                label: string;
                span?: number | undefined;
            };
            disable(): void;
            enable(): void;
            isEnabled(): boolean;
            addSecrets(secrets: string[] | number[]): void;
            clearSecrets(): void;
            deployed: signale__default.LoggerFunc;
            option: signale__default.LoggerFunc;
            await: signale__default.LoggerFunc;
            complete: signale__default.LoggerFunc;
            error: signale__default.LoggerFunc;
            debug: signale__default.LoggerFunc;
            fatal: signale__default.LoggerFunc;
            fav: signale__default.LoggerFunc;
            info: signale__default.LoggerFunc;
            note: signale__default.LoggerFunc;
            pause: signale__default.LoggerFunc;
            pending: signale__default.LoggerFunc;
            star: signale__default.LoggerFunc;
            start: signale__default.LoggerFunc;
            success: signale__default.LoggerFunc;
            warn: signale__default.LoggerFunc;
            watch: signale__default.LoggerFunc;
            log: signale__default.LoggerFunc;
        };
        build: {
            interactive: signale__default.SignaleBase<signale__default.DefaultMethods> & Record<signale__default.DefaultMethods, signale__default.LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: signale__default.SignaleConfig): signale__default.Signale<"deployed" | "option">;
            scope(...name: string[]): signale__default.Signale<"deployed" | "option">;
            unscope(): void;
            time(label?: string): string;
            timeEnd(label?: string, span?: number): {
                label: string;
                span?: number | undefined;
            };
            disable(): void;
            enable(): void;
            isEnabled(): boolean;
            addSecrets(secrets: string[] | number[]): void;
            clearSecrets(): void;
            deployed: signale__default.LoggerFunc;
            option: signale__default.LoggerFunc;
            await: signale__default.LoggerFunc;
            complete: signale__default.LoggerFunc;
            error: signale__default.LoggerFunc;
            debug: signale__default.LoggerFunc;
            fatal: signale__default.LoggerFunc;
            fav: signale__default.LoggerFunc;
            info: signale__default.LoggerFunc;
            note: signale__default.LoggerFunc;
            pause: signale__default.LoggerFunc;
            pending: signale__default.LoggerFunc;
            star: signale__default.LoggerFunc;
            start: signale__default.LoggerFunc;
            success: signale__default.LoggerFunc;
            warn: signale__default.LoggerFunc;
            watch: signale__default.LoggerFunc;
            log: signale__default.LoggerFunc;
        };
        postbuild: {
            interactive: signale__default.SignaleBase<signale__default.DefaultMethods> & Record<signale__default.DefaultMethods, signale__default.LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: signale__default.SignaleConfig): signale__default.Signale<"deployed" | "option">;
            scope(...name: string[]): signale__default.Signale<"deployed" | "option">;
            unscope(): void;
            time(label?: string): string;
            timeEnd(label?: string, span?: number): {
                label: string;
                span?: number | undefined;
            };
            disable(): void;
            enable(): void;
            isEnabled(): boolean;
            addSecrets(secrets: string[] | number[]): void;
            clearSecrets(): void;
            deployed: signale__default.LoggerFunc;
            option: signale__default.LoggerFunc;
            await: signale__default.LoggerFunc;
            complete: signale__default.LoggerFunc;
            error: signale__default.LoggerFunc;
            debug: signale__default.LoggerFunc;
            fatal: signale__default.LoggerFunc;
            fav: signale__default.LoggerFunc;
            info: signale__default.LoggerFunc;
            note: signale__default.LoggerFunc;
            pause: signale__default.LoggerFunc;
            pending: signale__default.LoggerFunc;
            star: signale__default.LoggerFunc;
            start: signale__default.LoggerFunc;
            success: signale__default.LoggerFunc;
            warn: signale__default.LoggerFunc;
            watch: signale__default.LoggerFunc;
            log: signale__default.LoggerFunc;
        };
        manifest: {
            interactive: signale__default.SignaleBase<signale__default.DefaultMethods> & Record<signale__default.DefaultMethods, signale__default.LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: signale__default.SignaleConfig): signale__default.Signale<"deployed" | "option">;
            scope(...name: string[]): signale__default.Signale<"deployed" | "option">;
            unscope(): void;
            time(label?: string): string;
            timeEnd(label?: string, span?: number): {
                label: string;
                span?: number | undefined;
            };
            disable(): void;
            enable(): void;
            isEnabled(): boolean;
            addSecrets(secrets: string[] | number[]): void;
            clearSecrets(): void;
            deployed: signale__default.LoggerFunc;
            option: signale__default.LoggerFunc;
            await: signale__default.LoggerFunc;
            complete: signale__default.LoggerFunc;
            error: signale__default.LoggerFunc;
            debug: signale__default.LoggerFunc;
            fatal: signale__default.LoggerFunc;
            fav: signale__default.LoggerFunc;
            info: signale__default.LoggerFunc;
            note: signale__default.LoggerFunc;
            pause: signale__default.LoggerFunc;
            pending: signale__default.LoggerFunc;
            star: signale__default.LoggerFunc;
            start: signale__default.LoggerFunc;
            success: signale__default.LoggerFunc;
            warn: signale__default.LoggerFunc;
            watch: signale__default.LoggerFunc;
            log: signale__default.LoggerFunc;
        };
        config(configObj: signale__default.SignaleConfig): signale__default.Signale<"deployed" | "option">;
        scope(...name: string[]): signale__default.Signale<"deployed" | "option">;
        unscope(): void;
        time(label?: string): string;
        timeEnd(label?: string, span?: number): {
            label: string;
            span?: number | undefined;
        };
        disable(): void;
        enable(): void;
        isEnabled(): boolean;
        addSecrets(secrets: string[] | number[]): void;
        clearSecrets(): void;
        deployed: signale__default.LoggerFunc;
        option: signale__default.LoggerFunc;
        await: signale__default.LoggerFunc;
        complete: signale__default.LoggerFunc;
        error: signale__default.LoggerFunc;
        debug: signale__default.LoggerFunc;
        fatal: signale__default.LoggerFunc;
        fav: signale__default.LoggerFunc;
        info: signale__default.LoggerFunc;
        note: signale__default.LoggerFunc;
        pause: signale__default.LoggerFunc;
        pending: signale__default.LoggerFunc;
        star: signale__default.LoggerFunc;
        start: signale__default.LoggerFunc;
        success: signale__default.LoggerFunc;
        warn: signale__default.LoggerFunc;
        watch: signale__default.LoggerFunc;
        log: signale__default.LoggerFunc;
    };
    interactive: {
        config(configObj: signale__default.SignaleConfig): signale__default.Signale<signale__default.DefaultMethods>;
        scope(...name: string[]): signale__default.Signale<signale__default.DefaultMethods>;
        unscope(): void;
        time(label?: string): string;
        timeEnd(label?: string, span?: number): {
            label: string;
            span?: number | undefined;
        };
        disable(): void;
        enable(): void;
        isEnabled(): boolean;
        addSecrets(secrets: string[] | number[]): void;
        clearSecrets(): void;
        await: signale__default.LoggerFunc;
        complete: signale__default.LoggerFunc;
        error: signale__default.LoggerFunc;
        debug: signale__default.LoggerFunc;
        fatal: signale__default.LoggerFunc;
        fav: signale__default.LoggerFunc;
        info: signale__default.LoggerFunc;
        note: signale__default.LoggerFunc;
        pause: signale__default.LoggerFunc;
        pending: signale__default.LoggerFunc;
        star: signale__default.LoggerFunc;
        start: signale__default.LoggerFunc;
        success: signale__default.LoggerFunc;
        warn: signale__default.LoggerFunc;
        watch: signale__default.LoggerFunc;
        log: signale__default.LoggerFunc;
        breakInteractiveChain: () => void;
    };
    server: {
        interactive: signale__default.SignaleBase<signale__default.DefaultMethods> & Record<signale__default.DefaultMethods, signale__default.LoggerFunc> & {
            breakInteractiveChain: () => void;
        };
        config(configObj: signale__default.SignaleConfig): signale__default.Signale<"deployed" | "option">;
        scope(...name: string[]): signale__default.Signale<"deployed" | "option">;
        unscope(): void;
        time(label?: string): string;
        timeEnd(label?: string, span?: number): {
            label: string;
            span?: number | undefined;
        };
        disable(): void;
        enable(): void;
        isEnabled(): boolean;
        addSecrets(secrets: string[] | number[]): void;
        clearSecrets(): void;
        deployed: signale__default.LoggerFunc;
        option: signale__default.LoggerFunc;
        await: signale__default.LoggerFunc;
        complete: signale__default.LoggerFunc;
        error: signale__default.LoggerFunc;
        debug: signale__default.LoggerFunc;
        fatal: signale__default.LoggerFunc;
        fav: signale__default.LoggerFunc;
        info: signale__default.LoggerFunc;
        note: signale__default.LoggerFunc;
        pause: signale__default.LoggerFunc;
        pending: signale__default.LoggerFunc;
        star: signale__default.LoggerFunc;
        start: signale__default.LoggerFunc;
        success: signale__default.LoggerFunc;
        warn: signale__default.LoggerFunc;
        watch: signale__default.LoggerFunc;
        log: signale__default.LoggerFunc;
    };
    runtime: {
        interactive: signale__default.SignaleBase<signale__default.DefaultMethods> & Record<signale__default.DefaultMethods, signale__default.LoggerFunc> & {
            breakInteractiveChain: () => void;
        };
        config(configObj: signale__default.SignaleConfig): signale__default.Signale<"deployed" | "option">;
        scope(...name: string[]): signale__default.Signale<"deployed" | "option">;
        unscope(): void;
        time(label?: string): string;
        timeEnd(label?: string, span?: number): {
            label: string;
            span?: number | undefined;
        };
        disable(): void;
        enable(): void;
        isEnabled(): boolean;
        addSecrets(secrets: string[] | number[]): void;
        clearSecrets(): void;
        deployed: signale__default.LoggerFunc;
        option: signale__default.LoggerFunc;
        await: signale__default.LoggerFunc;
        complete: signale__default.LoggerFunc;
        error: signale__default.LoggerFunc;
        debug: signale__default.LoggerFunc;
        fatal: signale__default.LoggerFunc;
        fav: signale__default.LoggerFunc;
        info: signale__default.LoggerFunc;
        note: signale__default.LoggerFunc;
        pause: signale__default.LoggerFunc;
        pending: signale__default.LoggerFunc;
        star: signale__default.LoggerFunc;
        start: signale__default.LoggerFunc;
        success: signale__default.LoggerFunc;
        warn: signale__default.LoggerFunc;
        watch: signale__default.LoggerFunc;
        log: signale__default.LoggerFunc;
    };
    prebuild: {
        interactive: signale__default.SignaleBase<signale__default.DefaultMethods> & Record<signale__default.DefaultMethods, signale__default.LoggerFunc> & {
            breakInteractiveChain: () => void;
        };
        config(configObj: signale__default.SignaleConfig): signale__default.Signale<"deployed" | "option">;
        scope(...name: string[]): signale__default.Signale<"deployed" | "option">;
        unscope(): void;
        time(label?: string): string;
        timeEnd(label?: string, span?: number): {
            label: string;
            span?: number | undefined;
        };
        disable(): void;
        enable(): void;
        isEnabled(): boolean;
        addSecrets(secrets: string[] | number[]): void;
        clearSecrets(): void;
        deployed: signale__default.LoggerFunc;
        option: signale__default.LoggerFunc;
        await: signale__default.LoggerFunc;
        complete: signale__default.LoggerFunc;
        error: signale__default.LoggerFunc;
        debug: signale__default.LoggerFunc;
        fatal: signale__default.LoggerFunc;
        fav: signale__default.LoggerFunc;
        info: signale__default.LoggerFunc;
        note: signale__default.LoggerFunc;
        pause: signale__default.LoggerFunc;
        pending: signale__default.LoggerFunc;
        star: signale__default.LoggerFunc;
        start: signale__default.LoggerFunc;
        success: signale__default.LoggerFunc;
        warn: signale__default.LoggerFunc;
        watch: signale__default.LoggerFunc;
        log: signale__default.LoggerFunc;
    };
    build: {
        interactive: signale__default.SignaleBase<signale__default.DefaultMethods> & Record<signale__default.DefaultMethods, signale__default.LoggerFunc> & {
            breakInteractiveChain: () => void;
        };
        config(configObj: signale__default.SignaleConfig): signale__default.Signale<"deployed" | "option">;
        scope(...name: string[]): signale__default.Signale<"deployed" | "option">;
        unscope(): void;
        time(label?: string): string;
        timeEnd(label?: string, span?: number): {
            label: string;
            span?: number | undefined;
        };
        disable(): void;
        enable(): void;
        isEnabled(): boolean;
        addSecrets(secrets: string[] | number[]): void;
        clearSecrets(): void;
        deployed: signale__default.LoggerFunc;
        option: signale__default.LoggerFunc;
        await: signale__default.LoggerFunc;
        complete: signale__default.LoggerFunc;
        error: signale__default.LoggerFunc;
        debug: signale__default.LoggerFunc;
        fatal: signale__default.LoggerFunc;
        fav: signale__default.LoggerFunc;
        info: signale__default.LoggerFunc;
        note: signale__default.LoggerFunc;
        pause: signale__default.LoggerFunc;
        pending: signale__default.LoggerFunc;
        star: signale__default.LoggerFunc;
        start: signale__default.LoggerFunc;
        success: signale__default.LoggerFunc;
        warn: signale__default.LoggerFunc;
        watch: signale__default.LoggerFunc;
        log: signale__default.LoggerFunc;
    };
    postbuild: {
        interactive: signale__default.SignaleBase<signale__default.DefaultMethods> & Record<signale__default.DefaultMethods, signale__default.LoggerFunc> & {
            breakInteractiveChain: () => void;
        };
        config(configObj: signale__default.SignaleConfig): signale__default.Signale<"deployed" | "option">;
        scope(...name: string[]): signale__default.Signale<"deployed" | "option">;
        unscope(): void;
        time(label?: string): string;
        timeEnd(label?: string, span?: number): {
            label: string;
            span?: number | undefined;
        };
        disable(): void;
        enable(): void;
        isEnabled(): boolean;
        addSecrets(secrets: string[] | number[]): void;
        clearSecrets(): void;
        deployed: signale__default.LoggerFunc;
        option: signale__default.LoggerFunc;
        await: signale__default.LoggerFunc;
        complete: signale__default.LoggerFunc;
        error: signale__default.LoggerFunc;
        debug: signale__default.LoggerFunc;
        fatal: signale__default.LoggerFunc;
        fav: signale__default.LoggerFunc;
        info: signale__default.LoggerFunc;
        note: signale__default.LoggerFunc;
        pause: signale__default.LoggerFunc;
        pending: signale__default.LoggerFunc;
        star: signale__default.LoggerFunc;
        start: signale__default.LoggerFunc;
        success: signale__default.LoggerFunc;
        warn: signale__default.LoggerFunc;
        watch: signale__default.LoggerFunc;
        log: signale__default.LoggerFunc;
    };
    manifest: {
        interactive: signale__default.SignaleBase<signale__default.DefaultMethods> & Record<signale__default.DefaultMethods, signale__default.LoggerFunc> & {
            breakInteractiveChain: () => void;
        };
        config(configObj: signale__default.SignaleConfig): signale__default.Signale<"deployed" | "option">;
        scope(...name: string[]): signale__default.Signale<"deployed" | "option">;
        unscope(): void;
        time(label?: string): string;
        timeEnd(label?: string, span?: number): {
            label: string;
            span?: number | undefined;
        };
        disable(): void;
        enable(): void;
        isEnabled(): boolean;
        addSecrets(secrets: string[] | number[]): void;
        clearSecrets(): void;
        deployed: signale__default.LoggerFunc;
        option: signale__default.LoggerFunc;
        await: signale__default.LoggerFunc;
        complete: signale__default.LoggerFunc;
        error: signale__default.LoggerFunc;
        debug: signale__default.LoggerFunc;
        fatal: signale__default.LoggerFunc;
        fav: signale__default.LoggerFunc;
        info: signale__default.LoggerFunc;
        note: signale__default.LoggerFunc;
        pause: signale__default.LoggerFunc;
        pending: signale__default.LoggerFunc;
        star: signale__default.LoggerFunc;
        start: signale__default.LoggerFunc;
        success: signale__default.LoggerFunc;
        warn: signale__default.LoggerFunc;
        watch: signale__default.LoggerFunc;
        log: signale__default.LoggerFunc;
    };
    config(configObj: signale__default.SignaleConfig): signale__default.Signale<"deployed" | "option">;
    scope(...name: string[]): signale__default.Signale<"deployed" | "option">;
    unscope(): void;
    time(label?: string): string;
    timeEnd(label?: string, span?: number): {
        label: string;
        span?: number | undefined;
    };
    disable(): void;
    enable(): void;
    isEnabled(): boolean;
    addSecrets(secrets: string[] | number[]): void;
    clearSecrets(): void;
    deployed: signale__default.LoggerFunc;
    option: signale__default.LoggerFunc;
    await: signale__default.LoggerFunc;
    complete: signale__default.LoggerFunc;
    error: signale__default.LoggerFunc;
    debug: signale__default.LoggerFunc;
    fatal: signale__default.LoggerFunc;
    fav: signale__default.LoggerFunc;
    info: signale__default.LoggerFunc;
    note: signale__default.LoggerFunc;
    pause: signale__default.LoggerFunc;
    pending: signale__default.LoggerFunc;
    star: signale__default.LoggerFunc;
    start: signale__default.LoggerFunc;
    success: signale__default.LoggerFunc;
    warn: signale__default.LoggerFunc;
    watch: signale__default.LoggerFunc;
    log: signale__default.LoggerFunc;
};

/**
 * @function
 * @memberof Utils
 * @description Detects the package manager being used.
 * @param {object} options - Options for detecting the package manager.
 * @param {string} [options.cwd] - The directory to check.
 * Defaults to the current working directory.
 * @returns {Promise<string>} A Promise that resolves to the detected
 *  package manager (npm, yarn, pnpm).
 * @example
 *
 * // Example usage:
 * getPackageManager({ cwd: './my-project' })
 *   .then(pm => console.log(pm)) // Logs: 'yarn', 'npm', or 'pnpm'
 *   .catch(err => console.error(err));
 */
declare const getPackageManager: ({ cwd }?: PackageManagerOptions) => Promise<PackageManagerType>;

export { PackageManagerOptions, PackageManagerType, feedback, getPackageManager };
