import { Component } from '../../model/component';
import { type ApplicationContext } from '../../context/ApplicationContext';
interface Deps {
    applicationContext: ApplicationContext;
}
/**
 * Helps create complex objects and aggregates
 */
export declare abstract class Factory<I, T> extends Component {
    protected readonly applicationContext: ApplicationContext;
    constructor({ applicationContext }: Deps);
    /**
     * Create an new instance based on the input information and internal logic
     * @param i the input for the factory
     */
    abstract create(i: I): T;
    /**
     * Create an new instance based on the input information and internal logic
     * @param i the input for the factory
     * @deprecated use Factory#create instead, **this method was introduced by error and will be removed soon**
     */
    translate(_i: I): T;
}
export {};
