export declare const isDeno: boolean;
export declare const isNode: string | false;
export declare const isBrowser: boolean;
export interface RuntimeInfo {
    name: 'deno' | 'node' | 'browser' | 'unknown';
    version: string;
    hasDOM: boolean;
    hasWebAPIs: boolean;
    hasFileSystem: boolean;
    hasNetworking: boolean;
    typescript: boolean;
    supportsESM: boolean;
    supportsWorkers: boolean;
}
export declare function getRuntimeInfo(): RuntimeInfo;
export declare const logger: {
    info: (message: string, ...args: unknown[]) => void;
    warn: (message: string, ...args: unknown[]) => void;
    error: (message: string, ...args: unknown[]) => void;
    debug: (message: string, ...args: unknown[]) => void;
};
export declare const performance: {
    now: () => number;
    mark: (name: string) => void;
    measure: (name: string, startMark?: string, endMark?: string) => void;
};
export declare class UniversalEventTarget {
    private listeners;
    addEventListener(type: string, listener: (event: any) => void): void;
    removeEventListener(type: string, listener: (event: any) => void): void;
    dispatchEvent(event: {
        type: string;
        [key: string]: any;
    }): boolean;
}
export declare function getLLMRuntimeInfo(): {
    runtime: "unknown" | "node" | "browser" | "deno";
    version: string;
    typescript: boolean;
    capabilities: {
        dom: boolean;
        webapis: boolean;
        filesystem: boolean;
        networking: boolean;
        workers: boolean;
        esm: boolean;
    };
    features: {
        dom?: boolean | undefined;
        webapis?: boolean | undefined;
        serviceWorkers?: boolean | undefined;
        webAssembly?: boolean | undefined;
        npm?: boolean | undefined;
        packageJson?: boolean | undefined;
        nodeModules?: boolean | undefined;
        builtinModules?: boolean | undefined;
        permissions?: string | undefined;
        builtinTypescript?: boolean | undefined;
        standardLibrary?: string | undefined;
        jsr?: boolean | undefined;
        denoDeploy?: boolean | undefined;
    };
    patterns: {
        imports: string;
        testing: string;
        bundling: string;
    };
};
export declare function importForEnvironment<T>(imports: {
    deno?: () => Promise<T>;
    node?: () => Promise<T>;
    browser?: () => Promise<T>;
    fallback?: () => Promise<T>;
}): Promise<T>;
//# sourceMappingURL=environment.d.ts.map