import type { DatabaseContainer } from '../database/DatabaseContainer';
import type { EmailFactory } from '../email/EmailFactory';
import { Injector } from '../dependencies/Injector';
import type { SecurityProviders } from '../types/types';
import type { SessionFactory } from '../security/SessionFactory';
export declare abstract class AbstractFactory {
    protected injector: Injector;
    getInjector(): Injector;
    protected buildInjector({ databaseContainer, emailFactory, securityProviders, sessionFactory, }: {
        databaseContainer: DatabaseContainer;
        emailFactory: EmailFactory;
        securityProviders: SecurityProviders;
        sessionFactory: SessionFactory;
    }): Injector;
}
