import type { GenericControllerInstance, RequestConfigControllerUser } from '../types/interfaces';
import type { Class } from 'type-fest';
import type { Context } from '../http/Context';
import type { ModuleContext } from './ModuleContext';
import type { Session } from '../security/Session';
export declare class Injector {
    context: ModuleContext;
    constructor(context: ModuleContext);
    inject<T>(module: Class, ctorArgs: unknown[]): T;
    injectFunctionParameters(instance: GenericControllerInstance, method: string, context: Context, loadedUser: RequestConfigControllerUser, injectedSessions: Session[]): Promise<unknown[]>;
}
