/**
 * External dependencies that are loaded on demand either by the engine automatically when needed or they can be loaded manually by calling the `load` function.
 *
 * Use the `ready` function to wait for the module to be loaded if you do not wand to trigger a load.
 *
 * If a module is already loaded it's also available in the `MODULE` variable.
 */
export declare const MODULES: {
    MaterialX: {
        MODULE: typeof import("@needle-tools/materialx");
        MAYBEMODULE: typeof import("@needle-tools/materialx") | null;
        /** Wait for the module to be loaded (doesn't trigger a load) */
        ready(): Promise<typeof import("@needle-tools/materialx")>;
        /** Load the module */
        load(): Promise<typeof import("@needle-tools/materialx")>;
    };
    RAPIER_PHYSICS: {
        MODULE: typeof import("@dimforge/rapier3d-compat");
        MAYBEMODULE: typeof import("@dimforge/rapier3d-compat") | null;
        /** Wait for the module to be loaded (doesn't trigger a load) */
        ready(): Promise<typeof import("@dimforge/rapier3d-compat")>;
        /** Load the module */
        load(): Promise<typeof import("@dimforge/rapier3d-compat")>;
    };
    POSTPROCESSING: {
        MODULE: typeof import("postprocessing");
        MAYBEMODULE: typeof import("postprocessing") | null;
        /** Wait for the module to be loaded (doesn't trigger a load) */
        ready(): Promise<typeof import("postprocessing")>;
        /** Load the module */
        load(): Promise<typeof import("postprocessing")>;
    };
    POSTPROCESSING_AO: {
        MODULE: any;
        MAYBEMODULE: any;
        /** Wait for the module to be loaded (doesn't trigger a load) */
        ready(): Promise<any>;
        /** Load the module */
        load(): Promise<any>;
    };
};
