import type { TokenProvider } from "../interfaces/TokenProvider.js"; import { DIConfiguration } from "../services/DIConfiguration.js"; /** * Get or set configuration for a provider or the global injector settings. * * ### Overloads * * - `configuration()` - Returns the global DI configuration * - `configuration(token)` - Returns the stored configuration for a provider * - `configuration(token, config)` - Sets and returns configuration for a provider * * ### Usage * * ```typescript * import {configuration, Injectable} from "@tsed/di"; * * // Get global configuration * const settings = configuration(); * * // Set provider configuration * @Injectable() * class MyService {} * configuration(MyService, {custom: "value"}); * * // Get provider configuration * const config = configuration(MyService); * ``` * * @param token Optional provider token to get/set configuration for * @param configuration Optional configuration to set * @returns The configuration object * @public */ export declare function configuration(): TsED.Configuration & DIConfiguration; export declare function configuration(token: TokenProvider): Partial; export declare function configuration(token: TokenProvider, configuration: Partial): Partial;