/** # Needle Engine plugins for Vite
 * Plugins include hot reload support, meta tags, defines, build pipeline, PWA, and more.
 * ## Using PWA
 * How to add PWA support to your vite project:
 * 1) Install the [vite pwa plugin](https://vite-pwa-org.netlify.app/): `npm install vite-plugin-pwa --save-dev`
 * 2) Add the following to your vite.config.js:
 *   You first pass the PWAOptions to the needlePlugins function, then you pass the same PWAOptions to the VitePWA plugin.
 * You *can* use also add a `.webmanifest` file to your web project and edit the [PWA manifest](https://developer.mozilla.org/en-US/docs/Web/Manifest) settings there.
 * ```js
 * export default defineConfig(async ({ command }) => {
 *    // @type {import("vite-plugin-pwa").VitePWAOptions}
 *    const PWAOptions = {};
 *    ...
 *    return {
 *        plugins: [
 *            ...
 *            needlePlugins(command, needleConfig, { pwaOptions: PWAOptions }),
 *            VitePWA(PWAOptions),
 *        ],
 *    }
 * ```
 * @param {"build" | "serve"} command
 * @param {import('../types/needleConfig').needleMeta | null | undefined} config
 * @param {import('../types/index.js').userSettings} [userSettings]
 * @returns {Promise<import('vite').Plugin[]>}
 */
export function needlePlugins(command: "build" | "serve", config?: import("../types/needleConfig").needleMeta | null | undefined, userSettings?: import("../types/index.js").userSettings): Promise<import("vite").Plugin[]>;
export { needleAI } from "./ai.js";
export { needleAsap } from "./asap.js";
export { needleDefines } from "./defines.js";
export { needleBuildPipeline } from "./build-pipeline.js";
export { needleBuild } from "./build.js";
export { needleMeta } from "./meta.js";
export { needlePoster } from "./poster.js";
export { needlePWA } from "./pwa.js";
export { needleReload } from "./reload.js";
export { needleDrop } from "./drop.js";
export { editorConnection } from "./editor-connection.js";
export { needleCopyFiles } from "./copyfiles.js";
export { needleViteAlias } from "./alias.js";
export { needleCustomElementData } from "./custom-element-data.js";
export { needleTransformCodegen } from "./transform-codegen.js";
export { needleTreeshake } from "./treeshake.js";
export { needleLicense } from "./license.js";
export { needlePeerjs } from "./peer.js";
export { needleDependencyWatcher } from "./dependency-watcher.js";
export { needleDependencies } from "./dependencies.js";
export { needleFacebookInstantGames } from "./facebook-instant-games.js";
export { needleImportsLogger } from "./imports-logger.js";
export { needleBuildInfo } from "./buildinfo.js";
export { needleApp } from "./needle-app.js";
export { needleServer } from "./server.js";
export * from "./gzip.js";
export * from "./config.js";
export { needleMakeFilesLocal, needleLocalFilesSceneAnalysis } from "./local-files.js";
