import type { UseScriptInput } from '@unhead/vue'; import type { ObjectSchema, UnionSchema } from 'valibot'; import type { EmptyOptionsSchema, InferIfSchema, NuxtUseScriptOptions, RegistryScriptInput, ScriptRegistry, UseFunctionType, UseScriptContext } from '#nuxt-scripts/types'; export type MaybePromise = Promise | T; type OptionsFn = (options: InferIfSchema, ctx: { scriptInput?: UseScriptInput & { src?: string; }; }) => ({ scriptInput?: UseScriptInput; scriptOptions?: NuxtUseScriptOptions; schema?: O extends ObjectSchema | UnionSchema ? O : undefined; clientInit?: () => void | Promise; scriptMode?: 'external' | 'npm'; }); export declare function scriptRuntimeConfig(key: T): ScriptRegistry[T]; export declare function scriptsPrefix(): string; export declare function requireRegistryEndpoint(componentName: string, registryKey: string): void; export declare function useRegistryScript, O = EmptyOptionsSchema>(registryKey: keyof ScriptRegistry | string, optionsFn: OptionsFn, _userOptions?: RegistryScriptInput): UseScriptContext, T>>; export {};