import * as interfaces from './interfaces/index.js'; export interface IEnvObject { name: string; value: string; } /** * Smartenv class that makes it easy */ export declare class Smartenv { getEnvAwareModule(optionsArg: { nodeModuleName: string; webUrlArg: string; getFunction: () => any; }): Promise; getSafeNodeModule(moduleNameArg: string, runAfterFunc?: (moduleArg: T) => Promise): Promise; loadedScripts: string[]; getSafeWebModule(urlArg: string, getFunctionArg: () => any): Promise; get runtimeEnv(): interfaces.TRuntimeType; get isBrowser(): boolean; get isNode(): boolean; get isDeno(): boolean; get isBun(): boolean; get userAgent(): string; get nodeVersion(): string; get denoVersion(): string; get bunVersion(): string; /** * Load a module only if the current runtime matches the target runtime(s) * @param target - Single runtime, array of runtimes, or 'server' for all server-side runtimes * @param moduleNameOrUrl - Module name (for Node/Deno/Bun) or URL (for browser) * @param getFunction - Optional function to retrieve the module in browser context * @returns The loaded module or undefined if runtime doesn't match */ getSafeModuleFor(target: interfaces.TRuntimeTarget | interfaces.TRuntimeTarget[], moduleNameOrUrl: string, getFunction?: () => any): Promise; get isCI(): boolean; isMacAsync(): Promise; isWindowsAsync(): Promise; isLinuxAsync(): Promise; /** * prints the environment to console */ printEnv(): Promise; }