/**
 * The import.meta.env.DEV checks are used to include certain code only in development builds.
 * Vite (and other modern bundlers) statically replace import.meta.env.DEV with true (development) or false (production).
 * This allows bundlers to remove development-only code (such as localWorker functions) from production bundles via tree-shaking,
 * resulting in smaller and more efficient production builds.
 *
 * See: https://vitejs.dev/guide/env-and-mode.html#env-variables
 *
 * Note: Even if code using these imports is removed by tree-shaking, Vite still processes and builds all statically imported modules
 * because the module dependency graph is constructed at build time before tree-shaking occurs. This means worker files and other
 * statically imported assets are built and emitted, even if they are not ultimately referenced in the final bundle.
 *
 */
export declare function isMonacoEnvironmentSetup(): boolean;
export declare function getAssetsPath(): string | undefined;
export declare const additionalLanguageWorkersMap: Map<string, string>;
export declare const isViteDevMode: boolean;
/**
 * Helper to create a web worker, handling cross-origin and bundler scenarios.
 *
 * The `localWorker` is used in environments (like Vite dev) where the worker can be instantiated as a class
 * (e.g., `new ArcadeWorker()`). In production or consuming apps, the worker is loaded from a URL.
 * This dual approach ensures compatibility across local development and deployed environments.
 */
declare function createWorker(url: string, localWorker?: () => Worker, isViteDev?: boolean): Promise<Worker>;
export declare function setupMonacoEnvironment(assetsPath: string): void;
export declare function ensureHoverServiceInitialized(): void;
export declare const exportsForTests: {
    createWorker: typeof createWorker;
};
export {};
