import { RpgFactoryProvider } from '@rpgjs/common'; import { RpgClient } from './RpgClient'; export type RpgClientModule = RpgClient | (new () => any); /** * Provides client modules configuration to Dependency Injection * * This function accepts an array of client modules that can be either: * - Objects implementing the RpgClient interface * - Classes decorated with the @RpgModule decorator (which will be instantiated) * * @param modules - Array of client modules (objects or classes) * @returns FactoryProvider configuration for DI * @example * ```ts * // Using an object * provideClientModules([ * { * engine: { * onConnected(engine) { * console.log('Client connected') * } * } * } * ]) * * // Using a decorated class * @RpgModule({ * engine: { * onStart(engine) { * console.log('Client started') * } * } * }) * class MyClientModule {} * * provideClientModules([MyClientModule]) * ``` */ export declare function provideClientModules(modules: RpgClientModule[]): RpgFactoryProvider; export declare const GlobalConfigToken = "GlobalConfigToken"; export declare function provideGlobalConfig(config: any): { provide: string; useValue: any; }; export declare function provideClientGlobalConfig(config?: any): { provide: string; useValue: any; };