import { AzionRuntimeRequest } from '../../../types/src/index.ts';
import { AzionRuntimeRequestMetadata } from '../../../types/src/index.ts';
import { default as default_2 } from 'signale';
import { DefaultMethods } from 'signale';
import { LoggerFunc } from 'signale';
import { Signale } from 'signale';
import { SignaleBase } from 'signale';
import { SignaleConfig } from 'signale';

/**
 * @function
 * @memberof Utils
 * @description Recursively copies a directory to the target directory, excluding any files or directories
 * that would result in the target directory being copied into itself.
 * subdirectory of the source directory, this function will avoid copying the target directory into
 * itself.
 * @example
 * // Copy a directory to the target directory
 * copyDirectory('path/to/source', 'path/to/target');
 * @example
 * // If the target directory is a subdirectory
 * of the source directory, this function will avoid copying the target directory into itself
 * copyDirectory('path/to/source', 'path/to/source/subdirectory');
 */
declare function copyDirectory(source: string, target: string, ignoreFiles?: string[]): void;

export declare const edge: {
    mountMPA: mountMPAFunction;
    mountSPA: MountSPAFunction;
    parseRequest: ParseRequestFunction;
};

/**
 * @function
 * @description Execute a command asynchronously and retrieve the standard output and standard error.
 * @example
 * // Basic usage
 * await exec('npm install', { scope: 'Install' });
 *
 * // With verbose output
 * await exec('npm run build', {
 *   scope: 'Build',
 *   verbose: true
 * });
 *
 * // With interactive mode
 * await exec('npx vue create my-project', {
 *   scope: 'Vue',
 *   interactive: true
 * });
 */
declare function exec(command: string, { scope, verbose, interactive }?: ExecOptions): Promise<ProcessOutput>;

declare interface ExecOptions {
    verbose?: boolean;
    interactive?: boolean;
}

declare interface ExecOptions {
    scope?: string;
    verbose?: boolean;
    interactive?: boolean;
}

/**
 * @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: default_2.SignaleConfig): default_2.Signale<default_2.DefaultMethods>;
            scope(...name: string[]): default_2.Signale<default_2.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: default_2.LoggerFunc;
            complete: default_2.LoggerFunc;
            error: default_2.LoggerFunc;
            debug: default_2.LoggerFunc;
            fatal: default_2.LoggerFunc;
            fav: default_2.LoggerFunc;
            info: default_2.LoggerFunc;
            note: default_2.LoggerFunc;
            pause: default_2.LoggerFunc;
            pending: default_2.LoggerFunc;
            star: default_2.LoggerFunc;
            start: default_2.LoggerFunc;
            success: default_2.LoggerFunc;
            warn: default_2.LoggerFunc;
            watch: default_2.LoggerFunc;
            log: default_2.LoggerFunc;
            breakInteractiveChain: () => void;
        };
        server: {
            interactive: default_2.SignaleBase<default_2.DefaultMethods> & Record<default_2.DefaultMethods, default_2.LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: default_2.SignaleConfig): default_2.Signale<"deployed" | "option">;
            scope(...name: string[]): default_2.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: default_2.LoggerFunc;
            option: default_2.LoggerFunc;
            await: default_2.LoggerFunc;
            complete: default_2.LoggerFunc;
            error: default_2.LoggerFunc;
            debug: default_2.LoggerFunc;
            fatal: default_2.LoggerFunc;
            fav: default_2.LoggerFunc;
            info: default_2.LoggerFunc;
            note: default_2.LoggerFunc;
            pause: default_2.LoggerFunc;
            pending: default_2.LoggerFunc;
            star: default_2.LoggerFunc;
            start: default_2.LoggerFunc;
            success: default_2.LoggerFunc;
            warn: default_2.LoggerFunc;
            watch: default_2.LoggerFunc;
            log: default_2.LoggerFunc;
        };
        runtime: {
            interactive: default_2.SignaleBase<default_2.DefaultMethods> & Record<default_2.DefaultMethods, default_2.LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: default_2.SignaleConfig): default_2.Signale<"deployed" | "option">;
            scope(...name: string[]): default_2.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: default_2.LoggerFunc;
            option: default_2.LoggerFunc;
            await: default_2.LoggerFunc;
            complete: default_2.LoggerFunc;
            error: default_2.LoggerFunc;
            debug: default_2.LoggerFunc;
            fatal: default_2.LoggerFunc;
            fav: default_2.LoggerFunc;
            info: default_2.LoggerFunc;
            note: default_2.LoggerFunc;
            pause: default_2.LoggerFunc;
            pending: default_2.LoggerFunc;
            star: default_2.LoggerFunc;
            start: default_2.LoggerFunc;
            success: default_2.LoggerFunc;
            warn: default_2.LoggerFunc;
            watch: default_2.LoggerFunc;
            log: default_2.LoggerFunc;
        };
        prebuild: {
            interactive: default_2.SignaleBase<default_2.DefaultMethods> & Record<default_2.DefaultMethods, default_2.LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: default_2.SignaleConfig): default_2.Signale<"deployed" | "option">;
            scope(...name: string[]): default_2.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: default_2.LoggerFunc;
            option: default_2.LoggerFunc;
            await: default_2.LoggerFunc;
            complete: default_2.LoggerFunc;
            error: default_2.LoggerFunc;
            debug: default_2.LoggerFunc;
            fatal: default_2.LoggerFunc;
            fav: default_2.LoggerFunc;
            info: default_2.LoggerFunc;
            note: default_2.LoggerFunc;
            pause: default_2.LoggerFunc;
            pending: default_2.LoggerFunc;
            star: default_2.LoggerFunc;
            start: default_2.LoggerFunc;
            success: default_2.LoggerFunc;
            warn: default_2.LoggerFunc;
            watch: default_2.LoggerFunc;
            log: default_2.LoggerFunc;
        };
        build: {
            interactive: default_2.SignaleBase<default_2.DefaultMethods> & Record<default_2.DefaultMethods, default_2.LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: default_2.SignaleConfig): default_2.Signale<"deployed" | "option">;
            scope(...name: string[]): default_2.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: default_2.LoggerFunc;
            option: default_2.LoggerFunc;
            await: default_2.LoggerFunc;
            complete: default_2.LoggerFunc;
            error: default_2.LoggerFunc;
            debug: default_2.LoggerFunc;
            fatal: default_2.LoggerFunc;
            fav: default_2.LoggerFunc;
            info: default_2.LoggerFunc;
            note: default_2.LoggerFunc;
            pause: default_2.LoggerFunc;
            pending: default_2.LoggerFunc;
            star: default_2.LoggerFunc;
            start: default_2.LoggerFunc;
            success: default_2.LoggerFunc;
            warn: default_2.LoggerFunc;
            watch: default_2.LoggerFunc;
            log: default_2.LoggerFunc;
        };
        postbuild: {
            interactive: default_2.SignaleBase<default_2.DefaultMethods> & Record<default_2.DefaultMethods, default_2.LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: default_2.SignaleConfig): default_2.Signale<"deployed" | "option">;
            scope(...name: string[]): default_2.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: default_2.LoggerFunc;
            option: default_2.LoggerFunc;
            await: default_2.LoggerFunc;
            complete: default_2.LoggerFunc;
            error: default_2.LoggerFunc;
            debug: default_2.LoggerFunc;
            fatal: default_2.LoggerFunc;
            fav: default_2.LoggerFunc;
            info: default_2.LoggerFunc;
            note: default_2.LoggerFunc;
            pause: default_2.LoggerFunc;
            pending: default_2.LoggerFunc;
            star: default_2.LoggerFunc;
            start: default_2.LoggerFunc;
            success: default_2.LoggerFunc;
            warn: default_2.LoggerFunc;
            watch: default_2.LoggerFunc;
            log: default_2.LoggerFunc;
        };
        storage: {
            interactive: default_2.SignaleBase<default_2.DefaultMethods> & Record<default_2.DefaultMethods, default_2.LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: default_2.SignaleConfig): default_2.Signale<"deployed" | "option">;
            scope(...name: string[]): default_2.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: default_2.LoggerFunc;
            option: default_2.LoggerFunc;
            await: default_2.LoggerFunc;
            complete: default_2.LoggerFunc;
            error: default_2.LoggerFunc;
            debug: default_2.LoggerFunc;
            fatal: default_2.LoggerFunc;
            fav: default_2.LoggerFunc;
            info: default_2.LoggerFunc;
            note: default_2.LoggerFunc;
            pause: default_2.LoggerFunc;
            pending: default_2.LoggerFunc;
            star: default_2.LoggerFunc;
            start: default_2.LoggerFunc;
            success: default_2.LoggerFunc;
            warn: default_2.LoggerFunc;
            watch: default_2.LoggerFunc;
            log: default_2.LoggerFunc;
        };
        bindings: {
            interactive: default_2.SignaleBase<default_2.DefaultMethods> & Record<default_2.DefaultMethods, default_2.LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: default_2.SignaleConfig): default_2.Signale<"deployed" | "option">;
            scope(...name: string[]): default_2.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: default_2.LoggerFunc;
            option: default_2.LoggerFunc;
            await: default_2.LoggerFunc;
            complete: default_2.LoggerFunc;
            error: default_2.LoggerFunc;
            debug: default_2.LoggerFunc;
            fatal: default_2.LoggerFunc;
            fav: default_2.LoggerFunc;
            info: default_2.LoggerFunc;
            note: default_2.LoggerFunc;
            pause: default_2.LoggerFunc;
            pending: default_2.LoggerFunc;
            star: default_2.LoggerFunc;
            start: default_2.LoggerFunc;
            success: default_2.LoggerFunc;
            warn: default_2.LoggerFunc;
            watch: default_2.LoggerFunc;
            log: default_2.LoggerFunc;
        };
        manifest: {
            interactive: default_2.SignaleBase<default_2.DefaultMethods> & Record<default_2.DefaultMethods, default_2.LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: default_2.SignaleConfig): default_2.Signale<"deployed" | "option">;
            scope(...name: string[]): default_2.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: default_2.LoggerFunc;
            option: default_2.LoggerFunc;
            await: default_2.LoggerFunc;
            complete: default_2.LoggerFunc;
            error: default_2.LoggerFunc;
            debug: default_2.LoggerFunc;
            fatal: default_2.LoggerFunc;
            fav: default_2.LoggerFunc;
            info: default_2.LoggerFunc;
            note: default_2.LoggerFunc;
            pause: default_2.LoggerFunc;
            pending: default_2.LoggerFunc;
            star: default_2.LoggerFunc;
            start: default_2.LoggerFunc;
            success: default_2.LoggerFunc;
            warn: default_2.LoggerFunc;
            watch: default_2.LoggerFunc;
            log: default_2.LoggerFunc;
        };
        config(configObj: default_2.SignaleConfig): default_2.Signale<"deployed" | "option">;
        scope(...name: string[]): default_2.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: default_2.LoggerFunc;
        option: default_2.LoggerFunc;
        await: default_2.LoggerFunc;
        complete: default_2.LoggerFunc;
        error: default_2.LoggerFunc;
        debug: default_2.LoggerFunc;
        fatal: default_2.LoggerFunc;
        fav: default_2.LoggerFunc;
        info: default_2.LoggerFunc;
        note: default_2.LoggerFunc;
        pause: default_2.LoggerFunc;
        pending: default_2.LoggerFunc;
        star: default_2.LoggerFunc;
        start: default_2.LoggerFunc;
        success: default_2.LoggerFunc;
        warn: default_2.LoggerFunc;
        watch: default_2.LoggerFunc;
        log: default_2.LoggerFunc;
    };
    interactive: {
        config(configObj: default_2.SignaleConfig): default_2.Signale<default_2.DefaultMethods>;
        scope(...name: string[]): default_2.Signale<default_2.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: default_2.LoggerFunc;
        complete: default_2.LoggerFunc;
        error: default_2.LoggerFunc;
        debug: default_2.LoggerFunc;
        fatal: default_2.LoggerFunc;
        fav: default_2.LoggerFunc;
        info: default_2.LoggerFunc;
        note: default_2.LoggerFunc;
        pause: default_2.LoggerFunc;
        pending: default_2.LoggerFunc;
        star: default_2.LoggerFunc;
        start: default_2.LoggerFunc;
        success: default_2.LoggerFunc;
        warn: default_2.LoggerFunc;
        watch: default_2.LoggerFunc;
        log: default_2.LoggerFunc;
        breakInteractiveChain: () => void;
    };
    server: {
        interactive: default_2.SignaleBase<default_2.DefaultMethods> & Record<default_2.DefaultMethods, default_2.LoggerFunc> & {
            breakInteractiveChain: () => void;
        };
        config(configObj: default_2.SignaleConfig): default_2.Signale<"deployed" | "option">;
        scope(...name: string[]): default_2.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: default_2.LoggerFunc;
        option: default_2.LoggerFunc;
        await: default_2.LoggerFunc;
        complete: default_2.LoggerFunc;
        error: default_2.LoggerFunc;
        debug: default_2.LoggerFunc;
        fatal: default_2.LoggerFunc;
        fav: default_2.LoggerFunc;
        info: default_2.LoggerFunc;
        note: default_2.LoggerFunc;
        pause: default_2.LoggerFunc;
        pending: default_2.LoggerFunc;
        star: default_2.LoggerFunc;
        start: default_2.LoggerFunc;
        success: default_2.LoggerFunc;
        warn: default_2.LoggerFunc;
        watch: default_2.LoggerFunc;
        log: default_2.LoggerFunc;
    };
    runtime: {
        interactive: default_2.SignaleBase<default_2.DefaultMethods> & Record<default_2.DefaultMethods, default_2.LoggerFunc> & {
            breakInteractiveChain: () => void;
        };
        config(configObj: default_2.SignaleConfig): default_2.Signale<"deployed" | "option">;
        scope(...name: string[]): default_2.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: default_2.LoggerFunc;
        option: default_2.LoggerFunc;
        await: default_2.LoggerFunc;
        complete: default_2.LoggerFunc;
        error: default_2.LoggerFunc;
        debug: default_2.LoggerFunc;
        fatal: default_2.LoggerFunc;
        fav: default_2.LoggerFunc;
        info: default_2.LoggerFunc;
        note: default_2.LoggerFunc;
        pause: default_2.LoggerFunc;
        pending: default_2.LoggerFunc;
        star: default_2.LoggerFunc;
        start: default_2.LoggerFunc;
        success: default_2.LoggerFunc;
        warn: default_2.LoggerFunc;
        watch: default_2.LoggerFunc;
        log: default_2.LoggerFunc;
    };
    prebuild: {
        interactive: default_2.SignaleBase<default_2.DefaultMethods> & Record<default_2.DefaultMethods, default_2.LoggerFunc> & {
            breakInteractiveChain: () => void;
        };
        config(configObj: default_2.SignaleConfig): default_2.Signale<"deployed" | "option">;
        scope(...name: string[]): default_2.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: default_2.LoggerFunc;
        option: default_2.LoggerFunc;
        await: default_2.LoggerFunc;
        complete: default_2.LoggerFunc;
        error: default_2.LoggerFunc;
        debug: default_2.LoggerFunc;
        fatal: default_2.LoggerFunc;
        fav: default_2.LoggerFunc;
        info: default_2.LoggerFunc;
        note: default_2.LoggerFunc;
        pause: default_2.LoggerFunc;
        pending: default_2.LoggerFunc;
        star: default_2.LoggerFunc;
        start: default_2.LoggerFunc;
        success: default_2.LoggerFunc;
        warn: default_2.LoggerFunc;
        watch: default_2.LoggerFunc;
        log: default_2.LoggerFunc;
    };
    build: {
        interactive: default_2.SignaleBase<default_2.DefaultMethods> & Record<default_2.DefaultMethods, default_2.LoggerFunc> & {
            breakInteractiveChain: () => void;
        };
        config(configObj: default_2.SignaleConfig): default_2.Signale<"deployed" | "option">;
        scope(...name: string[]): default_2.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: default_2.LoggerFunc;
        option: default_2.LoggerFunc;
        await: default_2.LoggerFunc;
        complete: default_2.LoggerFunc;
        error: default_2.LoggerFunc;
        debug: default_2.LoggerFunc;
        fatal: default_2.LoggerFunc;
        fav: default_2.LoggerFunc;
        info: default_2.LoggerFunc;
        note: default_2.LoggerFunc;
        pause: default_2.LoggerFunc;
        pending: default_2.LoggerFunc;
        star: default_2.LoggerFunc;
        start: default_2.LoggerFunc;
        success: default_2.LoggerFunc;
        warn: default_2.LoggerFunc;
        watch: default_2.LoggerFunc;
        log: default_2.LoggerFunc;
    };
    postbuild: {
        interactive: default_2.SignaleBase<default_2.DefaultMethods> & Record<default_2.DefaultMethods, default_2.LoggerFunc> & {
            breakInteractiveChain: () => void;
        };
        config(configObj: default_2.SignaleConfig): default_2.Signale<"deployed" | "option">;
        scope(...name: string[]): default_2.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: default_2.LoggerFunc;
        option: default_2.LoggerFunc;
        await: default_2.LoggerFunc;
        complete: default_2.LoggerFunc;
        error: default_2.LoggerFunc;
        debug: default_2.LoggerFunc;
        fatal: default_2.LoggerFunc;
        fav: default_2.LoggerFunc;
        info: default_2.LoggerFunc;
        note: default_2.LoggerFunc;
        pause: default_2.LoggerFunc;
        pending: default_2.LoggerFunc;
        star: default_2.LoggerFunc;
        start: default_2.LoggerFunc;
        success: default_2.LoggerFunc;
        warn: default_2.LoggerFunc;
        watch: default_2.LoggerFunc;
        log: default_2.LoggerFunc;
    };
    storage: {
        interactive: default_2.SignaleBase<default_2.DefaultMethods> & Record<default_2.DefaultMethods, default_2.LoggerFunc> & {
            breakInteractiveChain: () => void;
        };
        config(configObj: default_2.SignaleConfig): default_2.Signale<"deployed" | "option">;
        scope(...name: string[]): default_2.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: default_2.LoggerFunc;
        option: default_2.LoggerFunc;
        await: default_2.LoggerFunc;
        complete: default_2.LoggerFunc;
        error: default_2.LoggerFunc;
        debug: default_2.LoggerFunc;
        fatal: default_2.LoggerFunc;
        fav: default_2.LoggerFunc;
        info: default_2.LoggerFunc;
        note: default_2.LoggerFunc;
        pause: default_2.LoggerFunc;
        pending: default_2.LoggerFunc;
        star: default_2.LoggerFunc;
        start: default_2.LoggerFunc;
        success: default_2.LoggerFunc;
        warn: default_2.LoggerFunc;
        watch: default_2.LoggerFunc;
        log: default_2.LoggerFunc;
    };
    bindings: {
        interactive: default_2.SignaleBase<default_2.DefaultMethods> & Record<default_2.DefaultMethods, default_2.LoggerFunc> & {
            breakInteractiveChain: () => void;
        };
        config(configObj: default_2.SignaleConfig): default_2.Signale<"deployed" | "option">;
        scope(...name: string[]): default_2.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: default_2.LoggerFunc;
        option: default_2.LoggerFunc;
        await: default_2.LoggerFunc;
        complete: default_2.LoggerFunc;
        error: default_2.LoggerFunc;
        debug: default_2.LoggerFunc;
        fatal: default_2.LoggerFunc;
        fav: default_2.LoggerFunc;
        info: default_2.LoggerFunc;
        note: default_2.LoggerFunc;
        pause: default_2.LoggerFunc;
        pending: default_2.LoggerFunc;
        star: default_2.LoggerFunc;
        start: default_2.LoggerFunc;
        success: default_2.LoggerFunc;
        warn: default_2.LoggerFunc;
        watch: default_2.LoggerFunc;
        log: default_2.LoggerFunc;
    };
    manifest: {
        interactive: default_2.SignaleBase<default_2.DefaultMethods> & Record<default_2.DefaultMethods, default_2.LoggerFunc> & {
            breakInteractiveChain: () => void;
        };
        config(configObj: default_2.SignaleConfig): default_2.Signale<"deployed" | "option">;
        scope(...name: string[]): default_2.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: default_2.LoggerFunc;
        option: default_2.LoggerFunc;
        await: default_2.LoggerFunc;
        complete: default_2.LoggerFunc;
        error: default_2.LoggerFunc;
        debug: default_2.LoggerFunc;
        fatal: default_2.LoggerFunc;
        fav: default_2.LoggerFunc;
        info: default_2.LoggerFunc;
        note: default_2.LoggerFunc;
        pause: default_2.LoggerFunc;
        pending: default_2.LoggerFunc;
        star: default_2.LoggerFunc;
        start: default_2.LoggerFunc;
        success: default_2.LoggerFunc;
        warn: default_2.LoggerFunc;
        watch: default_2.LoggerFunc;
        log: default_2.LoggerFunc;
    };
    config(configObj: default_2.SignaleConfig): default_2.Signale<"deployed" | "option">;
    scope(...name: string[]): default_2.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: default_2.LoggerFunc;
    option: default_2.LoggerFunc;
    await: default_2.LoggerFunc;
    complete: default_2.LoggerFunc;
    error: default_2.LoggerFunc;
    debug: default_2.LoggerFunc;
    fatal: default_2.LoggerFunc;
    fav: default_2.LoggerFunc;
    info: default_2.LoggerFunc;
    note: default_2.LoggerFunc;
    pause: default_2.LoggerFunc;
    pending: default_2.LoggerFunc;
    star: default_2.LoggerFunc;
    start: default_2.LoggerFunc;
    success: default_2.LoggerFunc;
    warn: default_2.LoggerFunc;
    watch: default_2.LoggerFunc;
    log: default_2.LoggerFunc;
};

declare function getAbsoluteDirPath(currentModuleFullPath?: string, path?: string): string;

/**
 * @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>;

declare function getPackageVersion(packageName: string): any;

declare interface LockFileMap {
    [key: string]: {
        fileName: string;
        pmType: PackageManagerType;
    };
}

declare interface Logger {
    info(message: string): void;
    error(message: string): void;
    success(message: string): void;
    warn(message: string): void;
    debug(message: string): void;
    pending(message: string): void;
    complete(message: string): void;
    start(message: string): void;
}

/**
 * Function that mounts the SSG for a specific request.
 * @param requestURL - The original URL from the event request.
 * @returns A promise that resolves to the response from the SSG.
 */
declare type mountMPAFunction = (requestURL: RequestURL) => Promise<Response>;

/**
 * Function that mounts the SPA for a specific request.
 * @param requestURL - The original URL from the event request.
 * @returns A promise that resolves to the response from the SPA.
 */
declare type MountSPAFunction = (requestURL: RequestURL) => Promise<Response>;

export declare const node: {
    copyDirectory: typeof nodeUtils.copyDirectory;
    exec: typeof nodeUtils.exec;
    feedback: {
        globalScope: (scope?: string) => {
            interactive: {
                config(configObj: SignaleConfig): Signale<DefaultMethods>;
                scope(...name: string[]): Signale<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: LoggerFunc;
                complete: LoggerFunc;
                error: LoggerFunc;
                debug: LoggerFunc;
                fatal: LoggerFunc;
                fav: LoggerFunc;
                info: LoggerFunc;
                note: LoggerFunc;
                pause: LoggerFunc;
                pending: LoggerFunc;
                star: LoggerFunc;
                start: LoggerFunc;
                success: LoggerFunc;
                warn: LoggerFunc;
                watch: LoggerFunc;
                log: LoggerFunc;
                breakInteractiveChain: () => void;
            };
            server: {
                interactive: SignaleBase<DefaultMethods> & Record<DefaultMethods, LoggerFunc> & {
                    breakInteractiveChain: () => void;
                };
                config(configObj: SignaleConfig): Signale<"deployed" | "option">;
                scope(...name: string[]): 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: LoggerFunc;
                option: LoggerFunc;
                await: LoggerFunc;
                complete: LoggerFunc;
                error: LoggerFunc;
                debug: LoggerFunc;
                fatal: LoggerFunc;
                fav: LoggerFunc;
                info: LoggerFunc;
                note: LoggerFunc;
                pause: LoggerFunc;
                pending: LoggerFunc;
                star: LoggerFunc;
                start: LoggerFunc;
                success: LoggerFunc;
                warn: LoggerFunc;
                watch: LoggerFunc;
                log: LoggerFunc;
            };
            runtime: {
                interactive: SignaleBase<DefaultMethods> & Record<DefaultMethods, LoggerFunc> & {
                    breakInteractiveChain: () => void;
                };
                config(configObj: SignaleConfig): Signale<"deployed" | "option">;
                scope(...name: string[]): 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: LoggerFunc;
                option: LoggerFunc;
                await: LoggerFunc;
                complete: LoggerFunc;
                error: LoggerFunc;
                debug: LoggerFunc;
                fatal: LoggerFunc;
                fav: LoggerFunc;
                info: LoggerFunc;
                note: LoggerFunc;
                pause: LoggerFunc;
                pending: LoggerFunc;
                star: LoggerFunc;
                start: LoggerFunc;
                success: LoggerFunc;
                warn: LoggerFunc;
                watch: LoggerFunc;
                log: LoggerFunc;
            };
            prebuild: {
                interactive: SignaleBase<DefaultMethods> & Record<DefaultMethods, LoggerFunc> & {
                    breakInteractiveChain: () => void;
                };
                config(configObj: SignaleConfig): Signale<"deployed" | "option">;
                scope(...name: string[]): 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: LoggerFunc;
                option: LoggerFunc;
                await: LoggerFunc;
                complete: LoggerFunc;
                error: LoggerFunc;
                debug: LoggerFunc;
                fatal: LoggerFunc;
                fav: LoggerFunc;
                info: LoggerFunc;
                note: LoggerFunc;
                pause: LoggerFunc;
                pending: LoggerFunc;
                star: LoggerFunc;
                start: LoggerFunc;
                success: LoggerFunc;
                warn: LoggerFunc;
                watch: LoggerFunc;
                log: LoggerFunc;
            };
            build: {
                interactive: SignaleBase<DefaultMethods> & Record<DefaultMethods, LoggerFunc> & {
                    breakInteractiveChain: () => void;
                };
                config(configObj: SignaleConfig): Signale<"deployed" | "option">;
                scope(...name: string[]): 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: LoggerFunc;
                option: LoggerFunc;
                await: LoggerFunc;
                complete: LoggerFunc;
                error: LoggerFunc;
                debug: LoggerFunc;
                fatal: LoggerFunc;
                fav: LoggerFunc;
                info: LoggerFunc;
                note: LoggerFunc;
                pause: LoggerFunc;
                pending: LoggerFunc;
                star: LoggerFunc;
                start: LoggerFunc;
                success: LoggerFunc;
                warn: LoggerFunc;
                watch: LoggerFunc;
                log: LoggerFunc;
            };
            postbuild: {
                interactive: SignaleBase<DefaultMethods> & Record<DefaultMethods, LoggerFunc> & {
                    breakInteractiveChain: () => void;
                };
                config(configObj: SignaleConfig): Signale<"deployed" | "option">;
                scope(...name: string[]): 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: LoggerFunc;
                option: LoggerFunc;
                await: LoggerFunc;
                complete: LoggerFunc;
                error: LoggerFunc;
                debug: LoggerFunc;
                fatal: LoggerFunc;
                fav: LoggerFunc;
                info: LoggerFunc;
                note: LoggerFunc;
                pause: LoggerFunc;
                pending: LoggerFunc;
                star: LoggerFunc;
                start: LoggerFunc;
                success: LoggerFunc;
                warn: LoggerFunc;
                watch: LoggerFunc;
                log: LoggerFunc;
            };
            storage: {
                interactive: SignaleBase<DefaultMethods> & Record<DefaultMethods, LoggerFunc> & {
                    breakInteractiveChain: () => void;
                };
                config(configObj: SignaleConfig): Signale<"deployed" | "option">;
                scope(...name: string[]): 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: LoggerFunc;
                option: LoggerFunc;
                await: LoggerFunc;
                complete: LoggerFunc;
                error: LoggerFunc;
                debug: LoggerFunc;
                fatal: LoggerFunc;
                fav: LoggerFunc;
                info: LoggerFunc;
                note: LoggerFunc;
                pause: LoggerFunc;
                pending: LoggerFunc;
                star: LoggerFunc;
                start: LoggerFunc;
                success: LoggerFunc;
                warn: LoggerFunc;
                watch: LoggerFunc;
                log: LoggerFunc;
            };
            bindings: {
                interactive: SignaleBase<DefaultMethods> & Record<DefaultMethods, LoggerFunc> & {
                    breakInteractiveChain: () => void;
                };
                config(configObj: SignaleConfig): Signale<"deployed" | "option">;
                scope(...name: string[]): 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: LoggerFunc;
                option: LoggerFunc;
                await: LoggerFunc;
                complete: LoggerFunc;
                error: LoggerFunc;
                debug: LoggerFunc;
                fatal: LoggerFunc;
                fav: LoggerFunc;
                info: LoggerFunc;
                note: LoggerFunc;
                pause: LoggerFunc;
                pending: LoggerFunc;
                star: LoggerFunc;
                start: LoggerFunc;
                success: LoggerFunc;
                warn: LoggerFunc;
                watch: LoggerFunc;
                log: LoggerFunc;
            };
            manifest: {
                interactive: SignaleBase<DefaultMethods> & Record<DefaultMethods, LoggerFunc> & {
                    breakInteractiveChain: () => void;
                };
                config(configObj: SignaleConfig): Signale<"deployed" | "option">;
                scope(...name: string[]): 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: LoggerFunc;
                option: LoggerFunc;
                await: LoggerFunc;
                complete: LoggerFunc;
                error: LoggerFunc;
                debug: LoggerFunc;
                fatal: LoggerFunc;
                fav: LoggerFunc;
                info: LoggerFunc;
                note: LoggerFunc;
                pause: LoggerFunc;
                pending: LoggerFunc;
                star: LoggerFunc;
                start: LoggerFunc;
                success: LoggerFunc;
                warn: LoggerFunc;
                watch: LoggerFunc;
                log: LoggerFunc;
            };
            config(configObj: SignaleConfig): Signale<"deployed" | "option">;
            scope(...name: string[]): 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: LoggerFunc;
            option: LoggerFunc;
            await: LoggerFunc;
            complete: LoggerFunc;
            error: LoggerFunc;
            debug: LoggerFunc;
            fatal: LoggerFunc;
            fav: LoggerFunc;
            info: LoggerFunc;
            note: LoggerFunc;
            pause: LoggerFunc;
            pending: LoggerFunc;
            star: LoggerFunc;
            start: LoggerFunc;
            success: LoggerFunc;
            warn: LoggerFunc;
            watch: LoggerFunc;
            log: LoggerFunc;
        };
        interactive: {
            config(configObj: SignaleConfig): Signale<DefaultMethods>;
            scope(...name: string[]): Signale<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: LoggerFunc;
            complete: LoggerFunc;
            error: LoggerFunc;
            debug: LoggerFunc;
            fatal: LoggerFunc;
            fav: LoggerFunc;
            info: LoggerFunc;
            note: LoggerFunc;
            pause: LoggerFunc;
            pending: LoggerFunc;
            star: LoggerFunc;
            start: LoggerFunc;
            success: LoggerFunc;
            warn: LoggerFunc;
            watch: LoggerFunc;
            log: LoggerFunc;
            breakInteractiveChain: () => void;
        };
        server: {
            interactive: SignaleBase<DefaultMethods> & Record<DefaultMethods, LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: SignaleConfig): Signale<"deployed" | "option">;
            scope(...name: string[]): 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: LoggerFunc;
            option: LoggerFunc;
            await: LoggerFunc;
            complete: LoggerFunc;
            error: LoggerFunc;
            debug: LoggerFunc;
            fatal: LoggerFunc;
            fav: LoggerFunc;
            info: LoggerFunc;
            note: LoggerFunc;
            pause: LoggerFunc;
            pending: LoggerFunc;
            star: LoggerFunc;
            start: LoggerFunc;
            success: LoggerFunc;
            warn: LoggerFunc;
            watch: LoggerFunc;
            log: LoggerFunc;
        };
        runtime: {
            interactive: SignaleBase<DefaultMethods> & Record<DefaultMethods, LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: SignaleConfig): Signale<"deployed" | "option">;
            scope(...name: string[]): 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: LoggerFunc;
            option: LoggerFunc;
            await: LoggerFunc;
            complete: LoggerFunc;
            error: LoggerFunc;
            debug: LoggerFunc;
            fatal: LoggerFunc;
            fav: LoggerFunc;
            info: LoggerFunc;
            note: LoggerFunc;
            pause: LoggerFunc;
            pending: LoggerFunc;
            star: LoggerFunc;
            start: LoggerFunc;
            success: LoggerFunc;
            warn: LoggerFunc;
            watch: LoggerFunc;
            log: LoggerFunc;
        };
        prebuild: {
            interactive: SignaleBase<DefaultMethods> & Record<DefaultMethods, LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: SignaleConfig): Signale<"deployed" | "option">;
            scope(...name: string[]): 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: LoggerFunc;
            option: LoggerFunc;
            await: LoggerFunc;
            complete: LoggerFunc;
            error: LoggerFunc;
            debug: LoggerFunc;
            fatal: LoggerFunc;
            fav: LoggerFunc;
            info: LoggerFunc;
            note: LoggerFunc;
            pause: LoggerFunc;
            pending: LoggerFunc;
            star: LoggerFunc;
            start: LoggerFunc;
            success: LoggerFunc;
            warn: LoggerFunc;
            watch: LoggerFunc;
            log: LoggerFunc;
        };
        build: {
            interactive: SignaleBase<DefaultMethods> & Record<DefaultMethods, LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: SignaleConfig): Signale<"deployed" | "option">;
            scope(...name: string[]): 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: LoggerFunc;
            option: LoggerFunc;
            await: LoggerFunc;
            complete: LoggerFunc;
            error: LoggerFunc;
            debug: LoggerFunc;
            fatal: LoggerFunc;
            fav: LoggerFunc;
            info: LoggerFunc;
            note: LoggerFunc;
            pause: LoggerFunc;
            pending: LoggerFunc;
            star: LoggerFunc;
            start: LoggerFunc;
            success: LoggerFunc;
            warn: LoggerFunc;
            watch: LoggerFunc;
            log: LoggerFunc;
        };
        postbuild: {
            interactive: SignaleBase<DefaultMethods> & Record<DefaultMethods, LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: SignaleConfig): Signale<"deployed" | "option">;
            scope(...name: string[]): 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: LoggerFunc;
            option: LoggerFunc;
            await: LoggerFunc;
            complete: LoggerFunc;
            error: LoggerFunc;
            debug: LoggerFunc;
            fatal: LoggerFunc;
            fav: LoggerFunc;
            info: LoggerFunc;
            note: LoggerFunc;
            pause: LoggerFunc;
            pending: LoggerFunc;
            star: LoggerFunc;
            start: LoggerFunc;
            success: LoggerFunc;
            warn: LoggerFunc;
            watch: LoggerFunc;
            log: LoggerFunc;
        };
        storage: {
            interactive: SignaleBase<DefaultMethods> & Record<DefaultMethods, LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: SignaleConfig): Signale<"deployed" | "option">;
            scope(...name: string[]): 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: LoggerFunc;
            option: LoggerFunc;
            await: LoggerFunc;
            complete: LoggerFunc;
            error: LoggerFunc;
            debug: LoggerFunc;
            fatal: LoggerFunc;
            fav: LoggerFunc;
            info: LoggerFunc;
            note: LoggerFunc;
            pause: LoggerFunc;
            pending: LoggerFunc;
            star: LoggerFunc;
            start: LoggerFunc;
            success: LoggerFunc;
            warn: LoggerFunc;
            watch: LoggerFunc;
            log: LoggerFunc;
        };
        bindings: {
            interactive: SignaleBase<DefaultMethods> & Record<DefaultMethods, LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: SignaleConfig): Signale<"deployed" | "option">;
            scope(...name: string[]): 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: LoggerFunc;
            option: LoggerFunc;
            await: LoggerFunc;
            complete: LoggerFunc;
            error: LoggerFunc;
            debug: LoggerFunc;
            fatal: LoggerFunc;
            fav: LoggerFunc;
            info: LoggerFunc;
            note: LoggerFunc;
            pause: LoggerFunc;
            pending: LoggerFunc;
            star: LoggerFunc;
            start: LoggerFunc;
            success: LoggerFunc;
            warn: LoggerFunc;
            watch: LoggerFunc;
            log: LoggerFunc;
        };
        manifest: {
            interactive: SignaleBase<DefaultMethods> & Record<DefaultMethods, LoggerFunc> & {
                breakInteractiveChain: () => void;
            };
            config(configObj: SignaleConfig): Signale<"deployed" | "option">;
            scope(...name: string[]): 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: LoggerFunc;
            option: LoggerFunc;
            await: LoggerFunc;
            complete: LoggerFunc;
            error: LoggerFunc;
            debug: LoggerFunc;
            fatal: LoggerFunc;
            fav: LoggerFunc;
            info: LoggerFunc;
            note: LoggerFunc;
            pause: LoggerFunc;
            pending: LoggerFunc;
            star: LoggerFunc;
            start: LoggerFunc;
            success: LoggerFunc;
            warn: LoggerFunc;
            watch: LoggerFunc;
            log: LoggerFunc;
        };
        config(configObj: SignaleConfig): Signale<"deployed" | "option">;
        scope(...name: string[]): 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: LoggerFunc;
        option: LoggerFunc;
        await: LoggerFunc;
        complete: LoggerFunc;
        error: LoggerFunc;
        debug: LoggerFunc;
        fatal: LoggerFunc;
        fav: LoggerFunc;
        info: LoggerFunc;
        note: LoggerFunc;
        pause: LoggerFunc;
        pending: LoggerFunc;
        star: LoggerFunc;
        start: LoggerFunc;
        success: LoggerFunc;
        warn: LoggerFunc;
        watch: LoggerFunc;
        log: LoggerFunc;
    };
    getAbsoluteDirPath: typeof nodeUtils.getAbsoluteDirPath;
    getPackageManager: ({ cwd }?: nodeUtils.PackageManagerOptions) => Promise<nodeUtils.PackageManagerType>;
    getPackageVersion: typeof nodeUtils.getPackageVersion;
};

declare namespace nodeUtils {
    export {
        copyDirectory,
        exec,
        feedback,
        getAbsoluteDirPath,
        getPackageManager,
        getPackageVersion,
        Logger,
        ExecOptions,
        ProcessOutput,
        PackageManagerType,
        PackageManagerOptions,
        LockFileMap
    }
}

declare interface PackageManagerOptions {
    cwd?: string;
}

declare type PackageManagerType = 'npm' | 'yarn' | 'pnpm' | 'npx';

/**
 * Function that parses and logs the details of an incoming request.
 * @param request - The incoming AzionRuntimeRequest object.
 * @returns A promise that resolves to the request details object.
 */
declare type ParsedRequest = {
    timestamp: string;
    method: string;
    url: {
        full: string;
        protocol: string;
        hostname: string;
        path: string;
        query: Record<string, string>;
    };
    headers: Record<string, string>;
    cookies: Record<string, string>;
    body: string | null;
    client: {
        ip: string;
        userAgent: string;
    };
    referer: string;
    origin: string;
    cacheControl: string;
    pragma: string;
    contentType: string;
    contentLength: string;
    acceptLanguage: string;
    acceptEncoding: string;
    priority: string;
    host: string;
    authorization: string;
    metadata: AzionRuntimeRequestMetadata;
};

/**
 * Function that parses and logs the details of an incoming request.
 * @param request - The incoming AzionRuntimeRequest object.
 * @returns A promise that resolves to the ParsedRequest object.
 */
declare type ParseRequestFunction = (request: AzionRuntimeRequest) => Promise<ParsedRequest>;

declare interface ProcessOutput {
    stdout: string;
    stderr: string;
}

/**
 * Represents the request URL for the SSG or SPA.
 */
declare type RequestURL = string;

export { }
