import * as nuxt_schema from 'nuxt/schema';
import { NuxtConfigScriptRegistry, NuxtUseScriptOptions, NuxtUseScriptInput, RegistryScripts } from '../dist/runtime/types.js';

interface ModuleOptions {
    /**
     * The registry of supported third-party scripts. Loads the scripts in globally using the default script options.
     */
    registry?: NuxtConfigScriptRegistry;
    /**
     * Default options for scripts.
     */
    defaultScriptOptions?: NuxtUseScriptOptions;
    /**
     * Register scripts that should be loaded globally on all pages.
     */
    globals?: (NuxtUseScriptInput | [NuxtUseScriptInput, NuxtUseScriptOptions])[];
    /** Configure the way scripts assets are exposed */
    assets?: {
        /**
         * The baseURL where scripts files are served.
         * @default '/_scripts/'
         */
        prefix?: string;
        /**
         * Scripts assets are exposed as public assets as part of the build.
         *
         * TODO Make configurable in future.
         */
        strategy?: 'public';
    };
    /**
     * Whether the module is enabled.
     *
     * @default true
     */
    enabled: boolean;
    /**
     * Enables debug mode.
     *
     * @false false
     */
    debug: boolean;
}
interface ModuleHooks {
    /**
     * Transform a script before it's registered.
     */
    'scripts:registry': (registry: RegistryScripts) => void | Promise<void>;
}
declare const _default: nuxt_schema.NuxtModule<ModuleOptions>;

export { type ModuleHooks, type ModuleOptions, _default as default };
