import type { Connection } from 'typeorm';
import type { DatabaseContainer } from '../database/DatabaseContainer';
import type { EmailFactory } from '../email/EmailFactory';
import type { Redis } from 'ioredis';
import type { SecurityProvider } from '../security/SecurityProvider';
import type { SecurityProviders } from '../types/types';
import type { SessionFactory } from '../security/SessionFactory';
export declare class ModuleContext {
    protected readonly databaseContainer: DatabaseContainer;
    protected readonly emailFactory: EmailFactory;
    protected readonly sessionFactory: SessionFactory;
    protected readonly securityProviders: SecurityProviders;
    constructor(databaseContainer: DatabaseContainer, emailFactory: EmailFactory, sessionFactory: SessionFactory, securityProviders: SecurityProviders);
    getConnection(): Connection;
    hasConnection(): boolean;
    getRedisClient(): Redis;
    getSecurityProvider(key: string): SecurityProvider;
    getSessionFactory(): SessionFactory;
    getEmailFactory(): EmailFactory;
}
