/** * Environment Detection Utilities * * Provides utilities to detect the current runtime environment * and conditionally load appropriate modules. */ declare global { const importScripts: ((url: string) => void) | undefined; const jest: unknown | undefined; const vitest: unknown | undefined; } export interface EnvironmentInfo { isBrowser: boolean; isNode: boolean; isWebWorker: boolean; isTest: boolean; isDevelopment: boolean; isProduction: boolean; } /** * Detect current environment */ export declare function detectEnvironment(): EnvironmentInfo; export declare const ENV: EnvironmentInfo; /** * Conditional module loader */ export declare function loadConditionalModule(nodeModule: () => Promise, browserModule: () => Promise): Promise; /** * Conditional synchronous module loader */ export declare function loadConditionalModuleSync(nodeModule: () => T, browserModule: () => T): T; /** * Get platform-specific path separator */ export declare function getPathSeparator(): string; /** * Get current working directory */ export declare function getCurrentDirectory(): string; /** * Check if running in development mode */ export declare function isDevelopment(): boolean; /** * Check if running in production mode */ export declare function isProduction(): boolean; /** * Check if running in test mode */ export declare function isTest(): boolean; /** * Check if running in browser */ export declare function isBrowser(): boolean; /** * Check if running in Node.js */ export declare function isNode(): boolean; /** * Get environment name */ export declare function getEnvironmentName(): string; /** * Get platform name */ export declare function getPlatformName(): string; /** * Create environment-specific logger */ export declare function createLogger(prefix?: string): { debug: (...args: any[]) => void; info: (...args: any[]) => void; warn: (...args: any[]) => void; error: (...args: any[]) => void; }; /** * Environment-specific feature flags */ export declare const FEATURES: { canReadFiles: boolean; canWriteFiles: boolean; canAccessFileSystem: boolean; canFetch: boolean; canMakeHttpRequests: boolean; canDynamicImport: boolean; canRequire: boolean; canScanPackages: boolean; canScanFileSystem: boolean; canUseGlob: boolean; canUseLocalStorage: boolean; canUseSessionStorage: boolean; canUseMemoryCache: boolean; canHotReload: boolean; canShowDevTools: boolean; }; /** * Get feature availability */ export declare function hasFeature(feature: keyof typeof FEATURES): boolean; /** * Assert feature availability */ export declare function assertFeature(feature: keyof typeof FEATURES, message?: string): void; /** * Warn about missing features */ export declare function warnMissingFeature(feature: keyof typeof FEATURES, fallback?: string): void; //# sourceMappingURL=environment.d.ts.map