import { IExternalOriginMap } from "@dugongjs/core";
import { type ClassProvider, type DynamicModule, type FactoryProvider, type ValueProvider } from "@nestjs/common";
import type { ModuleInjectables } from "../providers/module-providers.js";
import type { DugongAdapters } from "./dugong-adapter.js";
export type DugongExternalOriginsOptions = {
    module?: ModuleInjectables;
    externalOriginMap: Omit<FactoryProvider<IExternalOriginMap>, "provide"> | Omit<ClassProvider<IExternalOriginMap>, "provide"> | Omit<ValueProvider<IExternalOriginMap>, "provide">;
};
export type DugongModuleOptions = {
    currentOrigin: string;
    adapters: DugongAdapters;
    aggregateDomainEventConsumers?: boolean;
    externalOrigins?: DugongExternalOriginsOptions;
};
export declare class DugongModule {
    static register(options: DugongModuleOptions): DynamicModule;
    static forRoot(options: DugongModuleOptions): DynamicModule;
    private static canRegisterAggregateDomainEventConsumers;
    private static createExternalOriginMapProviders;
}
