import { RichRendererModule } from './types';
export interface ConfigurableModule<TConfig> extends RichRendererModule {
    setup: (config: TConfig) => RichRendererModule;
}
export interface DefineConfigurableModuleResult<TConfig> {
    createModule: (base: Omit<RichRendererModule, 'name'>) => ConfigurableModule<TConfig>;
    useConfig: () => TConfig;
}
/**
 * Build a configurable module factory. The config travels to renderers through
 * a dedicated React Context (the module `Provider`); `useConfig` reads it.
 * `createModule(base)` produces a `ConfigurableModule` usable directly (default
 * config) or via `.setup(config)` — the NestJS `DynamicModule` analog.
 */
export declare function defineConfigurableModule<TConfig extends object>(opts: {
    defaultConfig: TConfig;
    name: string;
}): DefineConfigurableModuleResult<TConfig>;
//# sourceMappingURL=configurable-module.d.ts.map