import type { ILogger } from '../../domain/interface/index';
import type { IDIContainer } from '../../domain/type/index';
import type { IConsoleLoggerOptions, ICoreFactoryOptions, IDIContainerOptions } from '../interface/index';
/**
 * Factory for creating DI infrastructure components.
 */
export declare class CoreFactory {
    private readonly LOGGER;
    /**
     * Creates a new infrastructure factory.
     * @param {ICoreFactoryOptions} options - The options to use for the factory.
     * @see {@link https://elsikora.com/docs/cladi/core-concepts/factory}
     */
    constructor(options: ICoreFactoryOptions);
    /**
     * Creates a new factory instance.
     * Useful for static composition-root bootstrap flows.
     * @param {ICoreFactoryOptions} options - The options to use for the factory.
     * @returns {CoreFactory} A new factory instance.
     * @see {@link https://elsikora.com/docs/cladi/core-concepts/factory}
     */
    static getInstance(options: ICoreFactoryOptions): CoreFactory;
    /**
     * Creates a new advanced DI container instance.
     * @param {IDIContainerOptions} options - The options to use for the DI container.
     * @returns {IDIContainer} A new advanced DI container.
     */
    createDIContainer(options?: IDIContainerOptions): IDIContainer;
    /**
     * Creates a new logger instance.
     * @param {IConsoleLoggerOptions} options - The options to use for the logger.
     * @returns {ILogger} A new logger instance.
     * @see {@link https://elsikora.com/docs/cladi/services/logging}
     */
    createLogger(options: IConsoleLoggerOptions): ILogger;
}
//# sourceMappingURL=core.factory.d.ts.map